20260917_BOS@TEX
20260917_BOS@TEX.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BOS | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=4; 2B: current=2, sim=0; HR: current=1, sim=3; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2; SO: current=8, sim=3). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Trevor Story: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Jarren Duran: H current=1 box=0, SO current=1 box=0; Jahmai Jones: H current=0 box=1, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Wilyer Abreu: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Caleb Durbin: AB current=3 box=2, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Willson Contreras: BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model pitcher projections differ from final simulation pitching box score (HR: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (2B: current=1, sim=5; HR: current=1, sim=0; BB: current=2, sim=3; SO: current=8, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Josh Jung: R current=1 box=0, SO current=1 box=0; Ezequiel Duran: 2B current=0 box=1, RBI current=1 box=0; Wyatt Langford: H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Corey Seager: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Burger: 2B current=0 box=1, RBI current=1 box=2, BB current=0 box=1, SO current=1 box=0; Brandon Nimmo: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Nicky Lopez: H current=1 box=0, BB current=0 box=1; Danny Jansen: AB current=3 box=4, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BOS | BATTING_REALISM | current:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BOS | BATTING_TOTALS_SUM | current:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BOS | BATTING_TOTALS_SUM | simulation:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match TEX pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=33 matches TEX BF=33. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match BOS pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match BOS pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match BOS pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=35 matches BOS BF=35. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.516 -> 0.538 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.515643, 'sample_size': 537, 'empirical_hit_rate': 0.5605, 'empirical_weight': 0.5, 'blended_confidence': 0.538072, 'published_confidence': 0.553827, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BOS | CURRENT_LINEUP_SHAPE | BOS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BOS | CURRENT_MODEL_ZERO_FALLBACK | BOS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BOS | CURRENT_NAMES_PRESENT | BOS current hitter names are populated. | |||
| PASS | current_payload | current | BOS | CURRENT_PREDICTIONS_MATCH_FINALIZED | BOS hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.446. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.554. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.554. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.523/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: BOS 4, TEX 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: BOS 3 - TEX 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TEX. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for TEX. | {'winner_confidence': 0.5538271, 'h2h_net_margin': 8, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'BOS', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'TEX', 'actual_margin': 4, 'raw_pick_probability': 0.527872, 'artifact': '20260916_BOS@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'BOS', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'TEX', 'actual_margin': 2, 'raw_pick_probability': 0.515162, 'artifact': '20260915_BOS@TEX.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_BOS@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: BOS@TEX. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -4.0, 'absolute_net_margin': 4.0, 'home_average_margin': -0.8, 'home_run_delta': -0.0231, 'away_run_delta': 0.0231, 'evidence': [{'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -9.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 3, 'probability': 0.02782958621783928}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.02721072487221344}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.025763282306331143}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.02539840233085832}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02519037046240246}], 'home_distribution': {'0': 0.062152898951609525, '1': 0.0967732434897355, '2': 0.1309805414770644, '3': 0.15410468516127676, '4': 0.15760953235935865, '5': 0.14012211864179125, '6': 0.10829003319225736, '7': 0.0727491385930194, '8': 0.04248394135086082, '9': 0.02156648277244458, '10': 0.009516810503532435, '11': 0.003650573507049138}, 'away_distribution': {'0': 0.08094788291185205, '1': 0.12425608332129583, '2': 0.1611476282598728, '3': 0.1765729889635498, '4': 0.16346271650365285, '5': 0.12785191810792967, '6': 0.08448699753668486, '7': 0.04717007838720629, '8': 0.022250378952988394, '9': 0.0088675228998855, '10': 0.0029858041550819246}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.8487, 'recent_quality_edge': 0.192, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.4844} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'BOS 3 - 4 TEX', 'winner': 'TEX'}, 'final_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'BOS 3 - 4 TEX', 'winner': 'TEX'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0607, 'recent_form_edge_home_minus_away': 0.262, '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': 3, 'home_runs': 4, 'winner': 'TEX', 'model_winner': 'TEX', 'simulation_winner': 'TEX', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TEX', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 3, 'home_runs': 4}, 'simulation_score': {'away_runs': 3, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.4844, 'winner': 'TEX', 'score_reviewed': {'away_runs': 3, '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: 141. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 127. | |||||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_PITCHER_MATCH | BOS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_TOTAL_MATCH | BOS pitch_count_summary total, row sum, and pitching total all match: 141. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_PITCHER_MATCH | TEX pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_TOTAL_MATCH | TEX pitch_count_summary total, row sum, and pitching total all match: 127. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 6 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BOS | PITCHING_REALISM | current:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BOS | STARTER_PRESENT | current:BOS includes a starter/opener role. | |||
| PASS | pitching | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | BOS | PITCHING_REALISM | simulation:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BOS | STARTER_PRESENT | simulation:BOS includes a starter/opener role. | |||
| PASS | pitching | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: BOS 3 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: BOS 3 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TEX wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TEX, simulation=TEX, published=TEX. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.554. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TEX wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TEX wins 3-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-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 3-4, final 3-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TEX wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TEX | RECENT_FORM_RANGE | TEX recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TEX | TEAM_RECENT_RECORD | TEX wins and win_pct agree: 6/10 = 0.600. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BOS | BATTING_REALISM | current:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BOS | BATTING_TOTALS_SUM | current:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BOS | BATTING_TOTALS_SUM | simulation:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match TEX pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=33 matches TEX BF=33. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match BOS pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match BOS pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match BOS pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=35 matches BOS BF=35. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.516 -> 0.538 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.515643, 'sample_size': 537, 'empirical_hit_rate': 0.5605, 'empirical_weight': 0.5, 'blended_confidence': 0.538072, 'published_confidence': 0.553827, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BOS | CURRENT_LINEUP_SHAPE | BOS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BOS | CURRENT_MODEL_ZERO_FALLBACK | BOS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BOS | CURRENT_NAMES_PRESENT | BOS current hitter names are populated. | |||
| PASS | current_payload | current | BOS | CURRENT_PREDICTIONS_MATCH_FINALIZED | BOS hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.446. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.554. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.554. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.523/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: BOS 4, TEX 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: BOS 3 - TEX 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TEX. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for TEX. | {'winner_confidence': 0.5538271, 'h2h_net_margin': 8, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'BOS', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'TEX', 'actual_margin': 4, 'raw_pick_probability': 0.527872, 'artifact': '20260916_BOS@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'BOS', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'TEX', 'actual_margin': 2, 'raw_pick_probability': 0.515162, 'artifact': '20260915_BOS@TEX.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_BOS@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: BOS@TEX. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -4.0, 'absolute_net_margin': 4.0, 'home_average_margin': -0.8, 'home_run_delta': -0.0231, 'away_run_delta': 0.0231, 'evidence': [{'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -9.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 3, 'probability': 0.02782958621783928}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.02721072487221344}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.025763282306331143}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.02539840233085832}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02519037046240246}], 'home_distribution': {'0': 0.062152898951609525, '1': 0.0967732434897355, '2': 0.1309805414770644, '3': 0.15410468516127676, '4': 0.15760953235935865, '5': 0.14012211864179125, '6': 0.10829003319225736, '7': 0.0727491385930194, '8': 0.04248394135086082, '9': 0.02156648277244458, '10': 0.009516810503532435, '11': 0.003650573507049138}, 'away_distribution': {'0': 0.08094788291185205, '1': 0.12425608332129583, '2': 0.1611476282598728, '3': 0.1765729889635498, '4': 0.16346271650365285, '5': 0.12785191810792967, '6': 0.08448699753668486, '7': 0.04717007838720629, '8': 0.022250378952988394, '9': 0.0088675228998855, '10': 0.0029858041550819246}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.8487, 'recent_quality_edge': 0.192, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.4844} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'BOS 3 - 4 TEX', 'winner': 'TEX'}, 'final_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'BOS 3 - 4 TEX', 'winner': 'TEX'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0607, 'recent_form_edge_home_minus_away': 0.262, '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': 3, 'home_runs': 4, 'winner': 'TEX', 'model_winner': 'TEX', 'simulation_winner': 'TEX', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TEX', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 3, 'home_runs': 4}, 'simulation_score': {'away_runs': 3, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.4844, 'winner': 'TEX', 'score_reviewed': {'away_runs': 3, '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: 141. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 127. | |||||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_PITCHER_MATCH | BOS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_TOTAL_MATCH | BOS pitch_count_summary total, row sum, and pitching total all match: 141. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_PITCHER_MATCH | TEX pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_TOTAL_MATCH | TEX pitch_count_summary total, row sum, and pitching total all match: 127. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 6 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BOS | PITCHING_REALISM | current:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BOS | STARTER_PRESENT | current:BOS includes a starter/opener role. | |||
| PASS | pitching | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | BOS | PITCHING_REALISM | simulation:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BOS | STARTER_PRESENT | simulation:BOS includes a starter/opener role. | |||
| PASS | pitching | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: BOS 3 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: BOS 3 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TEX wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TEX, simulation=TEX, published=TEX. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.554. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TEX wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TEX wins 3-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-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 3-4, final 3-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TEX wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TEX | RECENT_FORM_RANGE | TEX recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TEX | TEAM_RECENT_RECORD | TEX wins and win_pct agree: 6/10 = 0.600. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BOS | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=4; 2B: current=2, sim=0; HR: current=1, sim=3; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2; SO: current=8, sim=3). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Trevor Story: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Jarren Duran: H current=1 box=0, SO current=1 box=0; Jahmai Jones: H current=0 box=1, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Wilyer Abreu: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Caleb Durbin: AB current=3 box=2, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Willson Contreras: BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model pitcher projections differ from final simulation pitching box score (HR: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (2B: current=1, sim=5; HR: current=1, sim=0; BB: current=2, sim=3; SO: current=8, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Josh Jung: R current=1 box=0, SO current=1 box=0; Ezequiel Duran: 2B current=0 box=1, RBI current=1 box=0; Wyatt Langford: H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Corey Seager: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Burger: 2B current=0 box=1, RBI current=1 box=2, BB current=0 box=1, SO current=1 box=0; Brandon Nimmo: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Nicky Lopez: H current=1 box=0, BB current=0 box=1; Danny Jansen: AB current=3 box=4, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.914752526083741 | 4.294231334888258 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 3 | 4 | 0.554 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 3 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 3 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 3 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 3 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 3 | 4 |
| TEX | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 | 8 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | BOS | batting | 32 | 8 | 2 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | BOS | pitching | 8 | 0 | 4 | 3 | 5 | 8.0 | 4 | 0 | 0 | |||||||||
| current | TEX | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 2 | 8 | 0 | 0 | 0 | 0 | |||||
| current | TEX | pitching | 4 | 2 | 3 | 2 | 3 | 9.0 | 3 | 0 | 0 | |||||||||
| simulation | BOS | batting | 31 | 4 | 0 | 0 | 3 | 3 | 3 | 2 | 3 | 0 | 0 | |||||||
| simulation | BOS | pitching | 8 | 0 | 4 | 3 | 5 | 8.0 | 4 | 35 | 141 | |||||||||
| simulation | TEX | batting | 32 | 8 | 5 | 0 | 0 | 4 | 4 | 3 | 5 | 0 | 0 | |||||||
| simulation | TEX | pitching | 4 | 3 | 3 | 2 | 3 | 9.0 | 3 | 33 | 127 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | BOS | LF | Roman Anthony | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BOS | C | Adley Rutschman | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | SS | Trevor Story | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | CF | Jarren Duran | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BOS | DH | Jahmai Jones | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BOS | RF | Wilyer Abreu | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | 3B | Caleb Durbin | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BOS | 1B | Willson Contreras | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BOS | 2B | Nick Sogard | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | TEX | DH | Josh Jung | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 3B | Ezequiel Duran | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | LF | Wyatt Langford | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | TEX | SS | Corey Seager | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TEX | 1B | Jake Burger | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TEX | RF | Brandon Nimmo | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 2B | Nicky Lopez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | TEX | C | Danny Jansen | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TEX | CF | Evan Carter | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | BOS | 1 | LF | Roman Anthony | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 2 | DH | Jahmai Jones | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | BOS | 3 | RF | Wilyer Abreu | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | BOS | 4 | 1B | Willson Contreras | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | BOS | 5 | C | Adley Rutschman | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 6 | SS | Trevor Story | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | BOS | 7 | CF | Jarren Duran | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | BOS | 8 | 3B | Caleb Durbin | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BOS | 9 | 2B | Nick Sogard | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TEX | 1 | 3B | Ezequiel Duran | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TEX | 2 | SS | Corey Seager | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TEX | 3 | DH | Josh Jung | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | TEX | 4 | RF | Brandon Nimmo | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | TEX | 5 | LF | Wyatt Langford | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | TEX | 6 | 1B | Jake Burger | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.333 |
| simulation | TEX | 7 | 2B | Nicky Lopez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | TEX | 8 | C | Danny Jansen | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | TEX | 9 | CF | Evan Carter | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | BOS | 1 | Sonny Gray | Starter | 6.0 | 6 | 2 | 2 | 1 | 5 | 0 | 0 | 0 | 3.00 | 2.76 | 1.17 |
| current | BOS | 2 | Aroldis Chapman | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.42 | 1.07 |
| current | BOS | 3 | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 18.00 | 1.81 | 0.83 |
| current | TEX | 1 | Tyler Alexander | Starter | 5.0 | 3 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1.80 | 3.37 | 1.27 |
| current | TEX | 3 | Chase Silseth | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.21 | 1.43 |
| current | TEX | 4 | Jakob Junis | Setup Man | 2.0 | 1 | 2 | 2 | 2 | 1 | 1 | 0 | 0 | 9.00 | 2.63 | 1.15 |
| simulation | BOS | 1 | Sonny Gray | Starter | 6.0 | 6 | 2 | 2 | 1 | 5 | 0 | 25 | 101 | 3.00 | 2.76 | 1.17 |
| simulation | BOS | 2 | Aroldis Chapman | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.42 | 1.07 |
| simulation | BOS | 3 | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 2 | 0 | 0 | 7 | 27 | 18.00 | 1.81 | 0.83 |
| simulation | TEX | 1 | Tyler Alexander | Starter | 5.0 | 3 | 1 | 1 | 0 | 1 | 2 | 18 | 72 | 1.80 | 3.37 | 1.27 |
| simulation | TEX | 2 | Jakob Junis | Setup Man | 2.0 | 1 | 2 | 2 | 2 | 1 | 1 | 9 | 30 | 9.00 | 2.63 | 1.15 |
| simulation | TEX | 3 | Chase Silseth | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 25 | 0.00 | 3.21 | 1.43 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| BOS | Sonny Gray | Starter | 6.0 | 2 | 6 | 1 | 5 | 25 | 101 |
| BOS | Aroldis Chapman | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| BOS | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 0 | 7 | 27 |
| TEX | Tyler Alexander | Starter | 5.0 | 1 | 3 | 0 | 1 | 18 | 72 |
| TEX | Chase Silseth | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 1 | 6 | 25 |
| TEX | Jakob Junis | Setup Man | 2.0 | 2 | 1 | 2 | 1 | 9 | 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 | 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. |
20260917_DET@CHW
20260917_DET@CHW.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CHW | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=7, sim=8; 2B: current=1, sim=0; HR: current=1, sim=0; BB: current=4, sim=5; SO: current=8, sim=12; SF: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Pham: AB current=3 box=4, R current=0 box=1, BB current=0 box=1, SO current=1 box=2; Munetaka Murakami: AB current=4 box=2, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randal Grichuk: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Brenton Doyle: RBI current=0 box=1, R current=0 box=1, SF current=0 box=1; Jake Rogers: BB current=0 box=1, SO current=1 box=2; Braden Montgomery: AB current=3 box=4, RBI current=0 box=1, BB current=1 box=0; Chase Meidroth: H current=1 box=0, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=3; Miguel Vargas: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=8, sim=5; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=6, sim=5; BB: current=4, sim=3; SO: current=7, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Gleyber Torres: AB current=4 box=3, H current=1 box=0; Kevin McGonigle: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Zach McKinstry: AB current=3 box=4, R current=0 box=1; Riley Greene: RBI current=1 box=0, BB current=1 box=0; Spencer Torkelson: AB current=3 box=4, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Javier Báez: AB current=3 box=2, H current=1 box=2, HR current=0 box=2, RBI current=0 box=4; Dillon Dingler: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Max Clark: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CHW | BATTING_TOTALS_SUM | current:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | current | DET | BATTING_TOTALS_SUM | current:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHW | BATTING_TOTALS_SUM | simulation:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match DET pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match DET pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match DET pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=40 matches DET BF=40. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match CHW pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match CHW pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match CHW pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match CHW pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=35 matches CHW BF=35. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.622 -> 0.586 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.621631, 'sample_size': 711, 'empirical_hit_rate': 0.5513, 'empirical_weight': 0.5, 'blended_confidence': 0.586465, 'published_confidence': 0.53, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CHW | CURRENT_LINEUP_SHAPE | CHW current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHW | CURRENT_MODEL_ZERO_FALLBACK | CHW current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHW | CURRENT_NAMES_PRESENT | CHW current hitter names are populated. | |||
| PASS | current_payload | current | CHW | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHW hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.470. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.649/0.860. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: DET 5, CHW 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: DET 5 - CHW 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: DET. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for DET; cap=0.53, reasons=latest same-matchup result beat the predicted side; recent head-to-head margin does not support a strong repeat pick; a prior same-side pick already missed against the actual result; latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head margin does not support a strong repeat pick', 'a prior same-side pick already missed against the actual result', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'DET', 'opponent_team': 'CHW', 'h2h_net_margin': -7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-08-16', 'predicted_team_runs': 5, 'opponent_runs': 7, 'margin_for_predicted_team': -2, 'winner': 'CHW'}, {'date': '2026-08-15', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'CHW'}, {'date': '2026-08-14', 'predicted_team_runs': 5, 'opponent_runs': 9, 'margin_for_predicted_team': -4, 'winner': 'CHW'}], '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': 0, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260816', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.548872, 'artifact': '20260816_CHW@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260815', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260815_CHW@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260814', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 4, 'raw_pick_probability': 0.66, 'artifact': '20260814_CHW@DET.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'DET', 'guardrail_opponent_team': 'CHW', 'output_pre_simulation_winner': 'DET', 'output_opponent_team': 'CHW', 'simulation_score_winner': 'DET', 'final_score_winner': 'DET', 'pre_simulation_winner': 'DET', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0837, 'recent_form_edge_home_minus_away': -0.77, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'DET', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.4415, 'winner': 'DET', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_DET@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: DET@CHW. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 3.0, 'absolute_net_margin': 3.0, 'home_average_margin': 0.6, 'home_run_delta': 0.0173, 'away_run_delta': -0.0173, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.01855903836692272}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.01828284009526387}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01800203342549417}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.017734124581287668}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.017115502532334438}], 'home_distribution': {'0': 0.04913437063928829, '1': 0.07724741553809605, '2': 0.10763398065164283, '3': 0.13291736698594034, '4': 0.14547251270939682, '5': 0.14110650479351375, '6': 0.1213053658795933, '7': 0.09242295991732932, '8': 0.06240891285377956, '9': 0.037349108941857063, '10': 0.019809830345098946, '11': 0.00931211114071798, '12': 0.003879559603745794}, 'away_distribution': {'0': 0.032596368939015075, '1': 0.051885443345732404, '2': 0.07503160147236967, '3': 0.09857465755556019, '4': 0.11765454664638415, '5': 0.12757762976155632, '6': 0.12567900117176492, '7': 0.11247947706876242, '8': 0.09145474296022425, '9': 0.06755563104508785, '10': 0.04533558807479403, '11': 0.027640082109452884, '12': 0.015309527277181384, '13': 0.007703828564349414, '14': 0.003521874007765086}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.227, 'recent_quality_edge': -0.84, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.4415} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0837, 'recent_form_edge_home_minus_away': -0.77, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'DET', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.4415, 'winner': 'DET', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 194. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_PITCHER_MATCH | CHW pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_TOTAL_MATCH | CHW pitch_count_summary total, row sum, and pitching total all match: 143. | |||
| 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: 194. | |||
| 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 | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | current | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | CHW | PITCHING_REALISM | simulation:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHW | STARTER_PRESENT | simulation:CHW includes a starter/opener role. | |||
| PASS | pitching | simulation | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=DET, simulation=DET, published=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 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): DET wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: DET wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CHW | RECENT_FORM_RANGE | CHW recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHW | TEAM_RECENT_RECORD | CHW wins and win_pct agree: 2/10 = 0.200. | |||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CHW | BATTING_TOTALS_SUM | current:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | current | DET | BATTING_TOTALS_SUM | current:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHW | BATTING_TOTALS_SUM | simulation:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match DET pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match DET pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match DET pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=40 matches DET BF=40. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match CHW pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match CHW pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match CHW pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match CHW pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=35 matches CHW BF=35. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.622 -> 0.586 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.621631, 'sample_size': 711, 'empirical_hit_rate': 0.5513, 'empirical_weight': 0.5, 'blended_confidence': 0.586465, 'published_confidence': 0.53, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CHW | CURRENT_LINEUP_SHAPE | CHW current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHW | CURRENT_MODEL_ZERO_FALLBACK | CHW current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHW | CURRENT_NAMES_PRESENT | CHW current hitter names are populated. | |||
| PASS | current_payload | current | CHW | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHW hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.470. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.649/0.860. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: DET 5, CHW 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: DET 5 - CHW 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: DET. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for DET; cap=0.53, reasons=latest same-matchup result beat the predicted side; recent head-to-head margin does not support a strong repeat pick; a prior same-side pick already missed against the actual result; latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head margin does not support a strong repeat pick', 'a prior same-side pick already missed against the actual result', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'DET', 'opponent_team': 'CHW', 'h2h_net_margin': -7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-08-16', 'predicted_team_runs': 5, 'opponent_runs': 7, 'margin_for_predicted_team': -2, 'winner': 'CHW'}, {'date': '2026-08-15', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'CHW'}, {'date': '2026-08-14', 'predicted_team_runs': 5, 'opponent_runs': 9, 'margin_for_predicted_team': -4, 'winner': 'CHW'}], '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': 0, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260816', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.548872, 'artifact': '20260816_CHW@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260815', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260815_CHW@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260814', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 4, 'raw_pick_probability': 0.66, 'artifact': '20260814_CHW@DET.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'DET', 'guardrail_opponent_team': 'CHW', 'output_pre_simulation_winner': 'DET', 'output_opponent_team': 'CHW', 'simulation_score_winner': 'DET', 'final_score_winner': 'DET', 'pre_simulation_winner': 'DET', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0837, 'recent_form_edge_home_minus_away': -0.77, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'DET', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.4415, 'winner': 'DET', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_DET@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: DET@CHW. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 3.0, 'absolute_net_margin': 3.0, 'home_average_margin': 0.6, 'home_run_delta': 0.0173, 'away_run_delta': -0.0173, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.01855903836692272}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.01828284009526387}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01800203342549417}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.017734124581287668}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.017115502532334438}], 'home_distribution': {'0': 0.04913437063928829, '1': 0.07724741553809605, '2': 0.10763398065164283, '3': 0.13291736698594034, '4': 0.14547251270939682, '5': 0.14110650479351375, '6': 0.1213053658795933, '7': 0.09242295991732932, '8': 0.06240891285377956, '9': 0.037349108941857063, '10': 0.019809830345098946, '11': 0.00931211114071798, '12': 0.003879559603745794}, 'away_distribution': {'0': 0.032596368939015075, '1': 0.051885443345732404, '2': 0.07503160147236967, '3': 0.09857465755556019, '4': 0.11765454664638415, '5': 0.12757762976155632, '6': 0.12567900117176492, '7': 0.11247947706876242, '8': 0.09145474296022425, '9': 0.06755563104508785, '10': 0.04533558807479403, '11': 0.027640082109452884, '12': 0.015309527277181384, '13': 0.007703828564349414, '14': 0.003521874007765086}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.227, 'recent_quality_edge': -0.84, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.4415} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0837, 'recent_form_edge_home_minus_away': -0.77, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'DET', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.4415, 'winner': 'DET', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 194. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_PITCHER_MATCH | CHW pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_TOTAL_MATCH | CHW pitch_count_summary total, row sum, and pitching total all match: 143. | |||
| 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: 194. | |||
| 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 | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | current | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | CHW | PITCHING_REALISM | simulation:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHW | STARTER_PRESENT | simulation:CHW includes a starter/opener role. | |||
| PASS | pitching | simulation | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=DET, simulation=DET, published=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 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): DET wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: DET wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CHW | RECENT_FORM_RANGE | CHW recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHW | TEAM_RECENT_RECORD | CHW wins and win_pct agree: 2/10 = 0.200. | |||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CHW | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=7, sim=8; 2B: current=1, sim=0; HR: current=1, sim=0; BB: current=4, sim=5; SO: current=8, sim=12; SF: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Pham: AB current=3 box=4, R current=0 box=1, BB current=0 box=1, SO current=1 box=2; Munetaka Murakami: AB current=4 box=2, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randal Grichuk: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Brenton Doyle: RBI current=0 box=1, R current=0 box=1, SF current=0 box=1; Jake Rogers: BB current=0 box=1, SO current=1 box=2; Braden Montgomery: AB current=3 box=4, RBI current=0 box=1, BB current=1 box=0; Chase Meidroth: H current=1 box=0, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=3; Miguel Vargas: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=8, sim=5; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=6, sim=5; BB: current=4, sim=3; SO: current=7, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Gleyber Torres: AB current=4 box=3, H current=1 box=0; Kevin McGonigle: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Zach McKinstry: AB current=3 box=4, R current=0 box=1; Riley Greene: RBI current=1 box=0, BB current=1 box=0; Spencer Torkelson: AB current=3 box=4, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Javier Báez: AB current=3 box=2, H current=1 box=2, HR current=0 box=2, RBI current=0 box=4; Dillon Dingler: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Max Clark: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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.539175304673057 | 4.382892917253516 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.530 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DET | 0 | 0 | 1 | 4 | 0 | 0 | 0 | 0 | 0 | 5 | 5 |
| CHW | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 8 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | batting | 31 | 8 | 1 | 0 | 1 | 4 | 6 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | DET | pitching | 8 | 0 | 4 | 5 | 12 | 9.0 | 4 | 0 | 0 | |||||||||
| current | CHW | batting | 31 | 7 | 1 | 0 | 1 | 4 | 4 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | CHW | pitching | 5 | 2 | 5 | 3 | 6 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | DET | batting | 32 | 5 | 2 | 0 | 2 | 5 | 5 | 3 | 6 | 0 | 0 | |||||||
| simulation | DET | pitching | 8 | 0 | 4 | 5 | 12 | 9.0 | 4 | 40 | 194 | |||||||||
| simulation | CHW | batting | 33 | 8 | 0 | 0 | 0 | 4 | 4 | 5 | 12 | 2 | 0 | |||||||
| simulation | CHW | pitching | 5 | 2 | 5 | 3 | 6 | 9.0 | 5 | 35 | 143 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | DH | Gleyber Torres | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | DET | 3B | Kevin McGonigle | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | DET | RF | Zach McKinstry | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | DET | LF | Riley Greene | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | DET | 1B | Spencer Torkelson | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 | |
| current | DET | 2B | Javier Báez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | C | Dillon Dingler | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | CF | Max Clark | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | SS | John Peck | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | CHW | DH | Tommy Pham | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | CHW | 1B | Munetaka Murakami | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | LF | Randal Grichuk | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CHW | CF | Brenton Doyle | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | C | Jake Rogers | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CHW | RF | Braden Montgomery | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | CHW | 2B | Chase Meidroth | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHW | 3B | Miguel Vargas | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | SS | Luisangel Acuña | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| simulation | DET | 1 | 3B | Kevin McGonigle | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | DET | 2 | DH | Gleyber Torres | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | DET | 3 | C | Dillon Dingler | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | DET | 4 | LF | Riley Greene | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | DET | 5 | 1B | Spencer Torkelson | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | DET | 6 | RF | Zach McKinstry | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | DET | 7 | CF | Max Clark | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | DET | 8 | SS | John Peck | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | DET | 9 | 2B | Javier Báez | 3 | 2 | 2 | 0 | 0 | 2 | 1 | 4 | 1 | 0 | 0 | 1.000 |
| simulation | CHW | 1 | 2B | Chase Meidroth | 5 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 0 | 0.000 |
| simulation | CHW | 2 | DH | Tommy Pham | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 |
| simulation | CHW | 3 | 3B | Miguel Vargas | 5 | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.600 |
| simulation | CHW | 4 | LF | Randal Grichuk | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | CHW | 5 | 1B | Munetaka Murakami | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.500 |
| simulation | CHW | 6 | CF | Brenton Doyle | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 |
| simulation | CHW | 7 | C | Jake Rogers | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CHW | 8 | SS | Luisangel Acuña | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | CHW | 9 | RF | Braden Montgomery | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | 1 | Framber Valdez | Starter | 6.0 | 5 | 3 | 3 | 5 | 8 | 0 | 0 | 0 | 4.50 | 4.01 | 1.36 |
| current | DET | 2 | Tyler Holton | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.78 | 1.22 |
| current | DET | 3 | Kenley Jansen | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.00 | 1.07 |
| current | DET | 4 | Kyle Finnegan | Middle Reliever (High Leverage) | 0.2 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 13.50 | 3.71 | 1.52 |
| current | CHW | 1 | Erick Fedde | Starter | 4.2 | 5 | 5 | 5 | 2 | 3 | 2 | 0 | 0 | 9.64 | 3.97 | 1.34 |
| current | CHW | 2 | Grant Taylor | Closer | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.40 | 1.03 |
| current | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.77 | 1.11 |
| current | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.58 | 1.16 |
| current | CHW | 5 | Jordan Hicks | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.83 | 1.50 |
| simulation | DET | 1 | Framber Valdez | Starter | 6.0 | 5 | 3 | 3 | 5 | 8 | 0 | 28 | 123 | 4.50 | 4.01 | 1.36 |
| simulation | DET | 2 | Kenley Jansen | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 28 | 0.00 | 3.00 | 1.07 |
| simulation | DET | 3 | Tyler Holton | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 29 | 0.00 | 2.78 | 1.22 |
| simulation | DET | 4 | Kyle Finnegan | Middle Reliever (High Leverage) | 0.2 | 2 | 1 | 1 | 0 | 1 | 0 | 4 | 14 | 13.50 | 3.71 | 1.52 |
| simulation | CHW | 1 | Erick Fedde | Starter | 4.2 | 5 | 5 | 5 | 2 | 3 | 2 | 21 | 84 | 9.64 | 3.97 | 1.34 |
| simulation | CHW | 2 | Grant Taylor | Closer | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 17 | 0.00 | 2.40 | 1.03 |
| simulation | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 2.77 | 1.11 |
| simulation | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 2.58 | 1.16 |
| simulation | CHW | 5 | Jordan Hicks | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 | 0.00 | 3.83 | 1.50 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| DET | Framber Valdez | Starter | 6.0 | 3 | 5 | 5 | 8 | 28 | 123 |
| DET | Tyler Holton | Setup Man | 1.1 | 0 | 0 | 0 | 2 | 4 | 29 |
| DET | Kenley Jansen | Closer | 1.0 | 0 | 1 | 0 | 1 | 4 | 28 |
| DET | Kyle Finnegan | Middle Reliever (High Leverage) | 0.2 | 1 | 2 | 0 | 1 | 4 | 14 |
| CHW | Erick Fedde | Starter | 4.2 | 5 | 5 | 2 | 3 | 21 | 84 |
| CHW | Grant Taylor | Closer | 1.1 | 0 | 0 | 0 | 2 | 4 | 17 |
| CHW | Sean Newcomb | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| CHW | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| CHW | Jordan Hicks | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 8 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260917_KC@HOU
20260917_KC@HOU.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | HOU | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | KC | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=10; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jose Altuve: H current=1 box=2, SO current=1 box=2; Isaac Paredes: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Jeremy Peña: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, SO current=1 box=2; Yainer Diaz: RBI current=1 box=0, R current=0 box=1, SO current=0 box=1; LaMonte Wade Jr.: BB current=1 box=0, HBP current=0 box=1; Taylor Trammell: R current=0 box=1, BB current=0 box=1; Cam Smith: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, HR current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=5; HR: current=1, sim=2; BB: current=3, sim=2; SO: current=9, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Jac Caglianone: 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Michael Massey: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Salvador Perez: R current=0 box=1; Bobby Witt Jr.: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=1; Maikel Garcia: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; John Rave: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=0; Carter Jensen: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0; Kyle Isbel: 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 | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match KC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match KC pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match KC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=37 matches KC BF=37. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match HOU pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match HOU pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=34 matches HOU BF=34. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.547 -> 0.554 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.546744, 'sample_size': 351, 'empirical_hit_rate': 0.5613, 'empirical_weight': 0.5, 'blended_confidence': 0.554022, 'published_confidence': 0.529531, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | HOU | CURRENT_LINEUP_SHAPE | HOU current lineup has 9 expected positions. | |||
| PASS | current_payload | current | HOU | CURRENT_MODEL_ZERO_FALLBACK | HOU current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | HOU | CURRENT_NAMES_PRESENT | HOU current hitter names are populated. | |||
| PASS | current_payload | current | HOU | CURRENT_PREDICTIONS_MATCH_FINALIZED | HOU hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | KC | CURRENT_LINEUP_SHAPE | KC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | KC | CURRENT_MODEL_ZERO_FALLBACK | KC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | KC | CURRENT_NAMES_PRESENT | KC current hitter names are populated. | |||
| PASS | current_payload | current | KC | CURRENT_PREDICTIONS_MATCH_FINALIZED | KC hitter predictions mirror finalized stats. | |||
| PASS | 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.470. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.530. | |||||
| 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.476/0.657. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: KC 5, HOU 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 4 - HOU 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: HOU. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for HOU; cap=0.53, reasons=latest same-matchup result beat the predicted side; latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'HOU', 'opponent_team': 'KC', 'h2h_net_margin': -5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 2, 'opponent_runs': 5, 'margin_for_predicted_team': -3, 'winner': 'KC'}, {'date': '2026-09-15', 'predicted_team_runs': 4, 'opponent_runs': 2, 'margin_for_predicted_team': 2, 'winner': 'HOU'}, {'date': '2026-06-14', 'predicted_team_runs': 0, 'opponent_runs': 4, 'margin_for_predicted_team': -4, 'winner': 'KC'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'KC', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'KC', 'actual_winner': 'KC', 'actual_margin': 3, 'raw_pick_probability': 0.505512, 'artifact': '20260916_KC@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'KC', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260915_KC@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'HOU', 'guardrail_opponent_team': 'KC', 'output_pre_simulation_winner': 'HOU', 'output_opponent_team': 'KC', 'simulation_score_winner': 'HOU', 'final_score_winner': 'HOU', 'pre_simulation_winner': 'HOU', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'KC 4 - 5 HOU', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'KC 4 - 5 HOU', 'winner': 'HOU'}, '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.011, 'recent_form_edge_home_minus_away': -0.234, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'HOU', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'HOU', '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.1181, 'winner': 'HOU', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_KC@HOU. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@HOU. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -2.0, 'absolute_net_margin': 2.0, 'home_average_margin': -0.4, 'home_run_delta': -0.0115, 'away_run_delta': 0.0115, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023835578333997708}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022950895284493376}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.022671544683595248}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.02195584335559507}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.021830065991255386}], 'home_distribution': {'0': 0.056810144494762516, '1': 0.0888036744888463, '2': 0.12162303185789829, '3': 0.1459420900375677, '4': 0.15343524968701663, '5': 0.1413349514808999, '6': 0.11406537976831099, '7': 0.08065624033983383, '8': 0.04996914799485743, '9': 0.027123501983671718, '10': 0.01289939749286869, '11': 0.005374931533554635, '12': 0.001962258839911263}, 'away_distribution': {'0': 0.05915043151254876, '1': 0.0923003123989013, '2': 0.12575020282705598, '3': 0.1495803300174473, '4': 0.15534616968798548, '5': 0.1408597396900687, '6': 0.1115150498950846, '7': 0.0770797600756245, '8': 0.0465165497858748, '9': 0.024509525594056992, '10': 0.01127515666475559, '11': 0.004528668531672962, '12': 0.001588103318923217}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.3454, 'recent_quality_edge': -0.304, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.1181} | ||||
| 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': 'KC 4 - 5 HOU', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'KC 4 - 5 HOU', 'winner': 'HOU'}, '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.011, 'recent_form_edge_home_minus_away': -0.234, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'HOU', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'HOU', '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.1181, 'winner': 'HOU', '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: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 129. | |||||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_PITCHER_MATCH | HOU pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_TOTAL_MATCH | HOU pitch_count_summary total, row sum, and pitching total all match: 129. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_PITCHER_MATCH | KC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_TOTAL_MATCH | KC pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | current | KC | PITCHING_REALISM | current:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | KC | STARTER_PRESENT | current:KC includes a starter/opener role. | |||
| PASS | pitching | simulation | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | KC | PITCHING_REALISM | simulation:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | KC | STARTER_PRESENT | simulation:KC includes a starter/opener role. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 4 - 5 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 4 - 5 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: HOU wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=HOU, simulation=HOU, published=HOU. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): HOU wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: HOU 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: HOU wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | HOU | RECENT_FORM_RANGE | HOU recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | HOU | TEAM_RECENT_RECORD | HOU wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | KC | RECENT_FORM_RANGE | KC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | KC | TEAM_RECENT_RECORD | KC wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match KC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match KC pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match KC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=37 matches KC BF=37. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match HOU pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match HOU pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=34 matches HOU BF=34. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.547 -> 0.554 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.546744, 'sample_size': 351, 'empirical_hit_rate': 0.5613, 'empirical_weight': 0.5, 'blended_confidence': 0.554022, 'published_confidence': 0.529531, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | HOU | CURRENT_LINEUP_SHAPE | HOU current lineup has 9 expected positions. | |||
| PASS | current_payload | current | HOU | CURRENT_MODEL_ZERO_FALLBACK | HOU current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | HOU | CURRENT_NAMES_PRESENT | HOU current hitter names are populated. | |||
| PASS | current_payload | current | HOU | CURRENT_PREDICTIONS_MATCH_FINALIZED | HOU hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | KC | CURRENT_LINEUP_SHAPE | KC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | KC | CURRENT_MODEL_ZERO_FALLBACK | KC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | KC | CURRENT_NAMES_PRESENT | KC current hitter names are populated. | |||
| PASS | current_payload | current | KC | CURRENT_PREDICTIONS_MATCH_FINALIZED | KC hitter predictions mirror finalized stats. | |||
| PASS | 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.470. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.530. | |||||
| 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.476/0.657. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: KC 5, HOU 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 4 - HOU 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: HOU. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for HOU; cap=0.53, reasons=latest same-matchup result beat the predicted side; latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'HOU', 'opponent_team': 'KC', 'h2h_net_margin': -5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 2, 'opponent_runs': 5, 'margin_for_predicted_team': -3, 'winner': 'KC'}, {'date': '2026-09-15', 'predicted_team_runs': 4, 'opponent_runs': 2, 'margin_for_predicted_team': 2, 'winner': 'HOU'}, {'date': '2026-06-14', 'predicted_team_runs': 0, 'opponent_runs': 4, 'margin_for_predicted_team': -4, 'winner': 'KC'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'KC', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'KC', 'actual_winner': 'KC', 'actual_margin': 3, 'raw_pick_probability': 0.505512, 'artifact': '20260916_KC@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'KC', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260915_KC@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'HOU', 'guardrail_opponent_team': 'KC', 'output_pre_simulation_winner': 'HOU', 'output_opponent_team': 'KC', 'simulation_score_winner': 'HOU', 'final_score_winner': 'HOU', 'pre_simulation_winner': 'HOU', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'KC 4 - 5 HOU', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'KC 4 - 5 HOU', 'winner': 'HOU'}, '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.011, 'recent_form_edge_home_minus_away': -0.234, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'HOU', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'HOU', '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.1181, 'winner': 'HOU', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_KC@HOU. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@HOU. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -2.0, 'absolute_net_margin': 2.0, 'home_average_margin': -0.4, 'home_run_delta': -0.0115, 'away_run_delta': 0.0115, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023835578333997708}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022950895284493376}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.022671544683595248}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.02195584335559507}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.021830065991255386}], 'home_distribution': {'0': 0.056810144494762516, '1': 0.0888036744888463, '2': 0.12162303185789829, '3': 0.1459420900375677, '4': 0.15343524968701663, '5': 0.1413349514808999, '6': 0.11406537976831099, '7': 0.08065624033983383, '8': 0.04996914799485743, '9': 0.027123501983671718, '10': 0.01289939749286869, '11': 0.005374931533554635, '12': 0.001962258839911263}, 'away_distribution': {'0': 0.05915043151254876, '1': 0.0923003123989013, '2': 0.12575020282705598, '3': 0.1495803300174473, '4': 0.15534616968798548, '5': 0.1408597396900687, '6': 0.1115150498950846, '7': 0.0770797600756245, '8': 0.0465165497858748, '9': 0.024509525594056992, '10': 0.01127515666475559, '11': 0.004528668531672962, '12': 0.001588103318923217}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.3454, 'recent_quality_edge': -0.304, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.1181} | ||||
| 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': 'KC 4 - 5 HOU', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'KC 4 - 5 HOU', 'winner': 'HOU'}, '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.011, 'recent_form_edge_home_minus_away': -0.234, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'HOU', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'HOU', '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.1181, 'winner': 'HOU', '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: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 129. | |||||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_PITCHER_MATCH | HOU pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_TOTAL_MATCH | HOU pitch_count_summary total, row sum, and pitching total all match: 129. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_PITCHER_MATCH | KC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_TOTAL_MATCH | KC pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | current | KC | PITCHING_REALISM | current:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | KC | STARTER_PRESENT | current:KC includes a starter/opener role. | |||
| PASS | pitching | simulation | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | KC | PITCHING_REALISM | simulation:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | KC | STARTER_PRESENT | simulation:KC includes a starter/opener role. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 4 - 5 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 4 - 5 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: HOU wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=HOU, simulation=HOU, published=HOU. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): HOU wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: HOU 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: HOU wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | HOU | RECENT_FORM_RANGE | HOU recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | HOU | TEAM_RECENT_RECORD | HOU wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | KC | RECENT_FORM_RANGE | KC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | KC | TEAM_RECENT_RECORD | KC wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | HOU | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | KC | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=10; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jose Altuve: H current=1 box=2, SO current=1 box=2; Isaac Paredes: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Jeremy Peña: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, SO current=1 box=2; Yainer Diaz: RBI current=1 box=0, R current=0 box=1, SO current=0 box=1; LaMonte Wade Jr.: BB current=1 box=0, HBP current=0 box=1; Taylor Trammell: R current=0 box=1, BB current=0 box=1; Cam Smith: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, HR current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=5; HR: current=1, sim=2; BB: current=3, sim=2; SO: current=9, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Jac Caglianone: 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Michael Massey: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Salvador Perez: R current=0 box=1; Bobby Witt Jr.: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=1; Maikel Garcia: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; John Rave: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=0; Carter Jensen: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0; Kyle Isbel: SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.5001138263343368 | 5.667644383228045 | Base ML historical model prediction | |
| variance_applied | 4 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.530 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | 2 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 4 | 5 |
| HOU | 0 | 2 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 5 | 10 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | KC | pitching | 10 | 1 | 5 | 2 | 9 | 8.0 | 5 | 0 | 0 | |||||||||
| current | HOU | batting | 33 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | HOU | pitching | 5 | 2 | 4 | 2 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | KC | batting | 32 | 5 | 1 | 0 | 2 | 4 | 4 | 2 | 6 | 0 | 0 | |||||||
| simulation | KC | pitching | 10 | 1 | 5 | 2 | 9 | 8.0 | 5 | 37 | 157 | |||||||||
| simulation | HOU | batting | 34 | 10 | 2 | 1 | 1 | 5 | 5 | 2 | 9 | 0 | 1 | |||||||
| simulation | HOU | pitching | 5 | 2 | 4 | 2 | 6 | 9.0 | 4 | 34 | 129 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | DH | Jac Caglianone | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | 2B | Michael Massey | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | KC | 1B | Salvador Perez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | SS | Bobby Witt Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | KC | 3B | Maikel Garcia | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | RF | John Rave | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | C | Carter Jensen | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | KC | CF | Kyle Isbel | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | KC | LF | Isaac Collins | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | HOU | DH | Yordan Alvarez | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | HOU | 2B | Jose Altuve | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | HOU | 3B | Isaac Paredes | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | HOU | SS | Jeremy Peña | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | C | Yainer Diaz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | HOU | 1B | LaMonte Wade Jr. | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | HOU | LF | Taylor Trammell | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | HOU | RF | Cam Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | HOU | CF | Daulton Varsho | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| simulation | KC | 1 | C | Carter Jensen | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | KC | 2 | SS | Bobby Witt Jr. | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | KC | 3 | DH | Jac Caglianone | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | KC | 4 | 3B | Maikel Garcia | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | KC | 5 | 2B | Michael Massey | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | KC | 6 | 1B | Salvador Perez | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | KC | 7 | RF | John Rave | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | KC | 8 | CF | Kyle Isbel | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | KC | 9 | LF | Isaac Collins | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | HOU | 1 | SS | Jeremy Peña | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.400 |
| simulation | HOU | 2 | DH | Yordan Alvarez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | HOU | 3 | 3B | Isaac Paredes | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | HOU | 4 | 2B | Jose Altuve | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 |
| simulation | HOU | 5 | C | Yainer Diaz | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | HOU | 6 | CF | Daulton Varsho | 4 | 4 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | HOU | 7 | LF | Taylor Trammell | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | HOU | 8 | RF | Cam Smith | 4 | 4 | 3 | 1 | 0 | 1 | 1 | 5 | 0 | 0 | 0 | 0.750 |
| simulation | HOU | 9 | 1B | LaMonte Wade Jr. | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | 1 | Seth Lugo | Starter | 5.0 | 5 | 1 | 1 | 1 | 5 | 0 | 0 | 0 | 1.80 | 4.99 | 1.45 |
| current | KC | 2 | Craig Kimbrel | Middle Reliever (High Leverage) | 1.0 | 3 | 2 | 2 | 0 | 2 | 0 | 0 | 0 | 18.00 | 4.50 | 1.35 |
| current | KC | 3 | Nate Pearson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.51 | 1.19 |
| current | KC | 4 | Steven Cruz | Closer | 1.0 | 2 | 2 | 2 | 1 | 0 | 1 | 0 | 0 | 18.00 | 4.13 | 1.25 |
| current | HOU | 1 | Miguel Ullola | Starter | 3.0 | 5 | 4 | 4 | 1 | 5 | 2 | 0 | 0 | 12.00 | 3.38 | 0.75 |
| current | HOU | 2 | AJ Blubaugh | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.26 | 1.21 |
| current | HOU | 3 | Bryan Abreu | Setup Man | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.79 | 1.31 |
| current | HOU | 5 | Josh Hader | Closer | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.64 | 0.59 |
| simulation | KC | 1 | Seth Lugo | Starter | 5.0 | 5 | 1 | 1 | 1 | 5 | 0 | 22 | 94 | 1.80 | 4.99 | 1.45 |
| simulation | KC | 2 | Steven Cruz | Closer | 1.0 | 2 | 2 | 2 | 1 | 0 | 1 | 6 | 23 | 18.00 | 4.13 | 1.25 |
| simulation | KC | 3 | Nate Pearson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 2.51 | 1.19 |
| simulation | KC | 4 | Craig Kimbrel | Middle Reliever (High Leverage) | 1.0 | 3 | 2 | 2 | 0 | 2 | 0 | 6 | 27 | 18.00 | 4.50 | 1.35 |
| simulation | HOU | 1 | Miguel Ullola | Starter | 3.0 | 5 | 4 | 4 | 1 | 5 | 2 | 15 | 57 | 12.00 | 3.38 | 0.75 |
| simulation | HOU | 2 | Josh Hader | Closer | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 25 | 0.00 | 0.64 | 0.59 |
| simulation | HOU | 3 | Bryan Abreu | Setup Man | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 25 | 0.00 | 3.79 | 1.31 |
| simulation | HOU | 4 | AJ Blubaugh | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 1 | 0 | 0 | 7 | 22 | 0.00 | 3.26 | 1.21 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| KC | Seth Lugo | Starter | 5.0 | 1 | 5 | 1 | 5 | 22 | 94 |
| KC | Craig Kimbrel | Middle Reliever (High Leverage) | 1.0 | 2 | 3 | 0 | 2 | 6 | 27 |
| KC | Nate Pearson | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| KC | Steven Cruz | Closer | 1.0 | 2 | 2 | 1 | 0 | 6 | 23 |
| HOU | Miguel Ullola | Starter | 3.0 | 4 | 5 | 1 | 5 | 15 | 57 |
| HOU | AJ Blubaugh | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 1 | 0 | 7 | 22 |
| HOU | Bryan Abreu | Setup Man | 2.0 | 0 | 0 | 0 | 1 | 6 | 25 |
| HOU | Josh Hader | Closer | 2.0 | 0 | 0 | 0 | 0 | 6 | 25 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260917_LAD@CIN
20260917_LAD@CIN.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CIN | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | LAD | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=34, sim=38; H: current=7, sim=11; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=1; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Elly De La Cruz: AB current=4 box=5, H current=1 box=3, HR current=1 box=0, RBI current=1 box=0; Juan Brito: R current=0 box=1; Matt McLain: RBI current=0 box=1, SO current=1 box=0; Héctor Rodríguez: RBI current=0 box=1, R current=0 box=1; Ke'Bryan Hayes: AB current=3 box=4, SO current=1 box=2; TJ Friedl: AB current=3 box=4, H current=0 box=1, SO current=1 box=0; Sal Stewart: 2B current=0 box=1, BB current=0 box=1, SO current=1 box=2; Tyler Stephenson: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=8, sim=11; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=9; R: current=4, sim=9; BB: current=4, sim=8; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Edman: AB current=4 box=6; Max Muncy: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Josue De Paula: AB current=3 box=5, H current=1 box=3, R current=0 box=1, BB current=1 box=0; Kyle Tucker: H current=1 box=2, 3B current=0 box=1, HR current=0 box=1, RBI current=1 box=6; Freddie Freeman: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1, R current=0 box=1; Miguel Rojas: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Teoscar Hernández: BB current=0 box=1, SO current=1 box=2; Hunter Feduccia: AB current=3 box=4, H 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 | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | LAD | BATTING_REALISM | current:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAD | BATTING_REALISM | simulation:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CIN | BATTING_TOTALS_SUM | current:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | LAD | BATTING_TOTALS_SUM | current:LAD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAD | BATTING_TOTALS_SUM | simulation:LAD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match LAD pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match LAD pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=40 matches LAD BF=40. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_BB_MATCH | simulation:LAD batting walks match CIN pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match CIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match CIN pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=46 matches CIN BF=46. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 9. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.888 -> 0.721 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.888096, 'sample_size': 233, 'empirical_hit_rate': 0.5536, 'empirical_weight': 0.5, 'blended_confidence': 0.720848, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CIN | CURRENT_LINEUP_SHAPE | CIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CIN | CURRENT_MODEL_ZERO_FALLBACK | CIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CIN | CURRENT_NAMES_PRESENT | CIN current hitter names are populated. | |||
| PASS | current_payload | current | CIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | CIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | LAD | CURRENT_LINEUP_SHAPE | LAD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAD | CURRENT_MODEL_ZERO_FALLBACK | LAD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAD | CURRENT_NAMES_PRESENT | LAD current hitter names are populated. | |||
| PASS | current_payload | current | LAD | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 14 is reasonably close to low-score expected_total_runs 14.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.484/0.665. | |||||
| 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: LAD 11, CIN 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAD 9 - CIN 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAD; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; local prediction memory shows 6 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'local prediction memory shows 6 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'CIN', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 2, 'opponent_runs': 6, 'margin_for_predicted_team': -4, 'winner': 'CIN'}, {'date': '2026-09-15', 'predicted_team_runs': 4, 'opponent_runs': 0, 'margin_for_predicted_team': 4, 'winner': 'LAD'}, {'date': '2026-09-14', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'LAD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 6, 'consecutive_same_pick_count': 6, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'LAD', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'CIN', 'actual_margin': 4, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260916_LAD@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'LAD', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 4, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260915_LAD@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260914', 'away': 'LAD', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 3, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260914_LAD@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260909', 'away': 'CIN', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 13, 'raw_pick_probability': 0.58, 'artifact': '20260909_CIN@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'CIN', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 1, 'raw_pick_probability': 0.671836, 'artifact': '20260908_CIN@LAD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAD', 'guardrail_opponent_team': 'CIN', 'output_pre_simulation_winner': 'LAD', 'output_opponent_team': 'CIN', 'simulation_score_winner': 'LAD', 'final_score_winner': 'LAD', 'pre_simulation_winner': 'LAD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0587, 'recent_form_edge_home_minus_away': -1.414, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 9, 'home_runs': 5, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 5}, 'simulation_score': {'away_runs': 9, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.9288, 'winner': 'LAD', 'score_reviewed': {'away_runs': 9, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_LAD@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAD@CIN. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -17.0, 'absolute_net_margin': 17.0, 'home_average_margin': -3.4, 'home_run_delta': -0.0981, 'away_run_delta': 0.0981, 'evidence': [{'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -13.0}, {'game_id': None, 'home_margin': -1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 8, 'probability': 0.01336744264200959}, {'home_runs': 5, 'away_runs': 9, 'probability': 0.013047159084434722}, {'home_runs': 6, 'away_runs': 8, 'probability': 0.01287941486345342}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.012857005199560057}, {'home_runs': 6, 'away_runs': 9, 'probability': 0.0125708244380129}], 'home_distribution': {'0': 0.035226788691975444, '1': 0.05595938883989819, '2': 0.08043451548828204, '3': 0.10461200274012163, '4': 0.12310910156519388, '5': 0.13108964466976789, '6': 0.1263037338719276, '7': 0.11011172644117054, '8': 0.08686014166385428, '9': 0.06199791347533426, '10': 0.040040841217663554, '11': 0.023399085875710105, '12': 0.012372691050392076, '13': 0.00591969082519091, '14': 0.0025627335835177053}, 'away_distribution': {'0': 0.012731136976455922, '1': 0.02059974617469859, '2': 0.03129072791308219, '3': 0.044619898915639875, '4': 0.059731114301060755, '5': 0.07506401154648461, '6': 0.08855682597490634, '7': 0.09807796208425577, '8': 0.10197176653948481, '9': 0.09952852582141204, '10': 0.09119569108724507, '11': 0.07844408197497155, '12': 0.06334395409689424, '13': 0.048018575609993626, '14': 0.0341721650786474, '15': 0.022829417835053385, '16': 0.014317800169680022, '17': 0.008429792323704176, '18': 0.004659255997986297, '19': 0.00241754957834331}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -2.3191, 'recent_quality_edge': -1.204, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.9288} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0587, 'recent_form_edge_home_minus_away': -1.414, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 9, 'home_runs': 5, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 5}, 'simulation_score': {'away_runs': 9, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.9288, 'winner': 'LAD', 'score_reviewed': {'away_runs': 9, '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: 169. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 202. | |||||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_PITCHER_MATCH | CIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_TOTAL_MATCH | CIN pitch_count_summary total, row sum, and pitching total all match: 202. | |||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_PITCHER_MATCH | LAD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_TOTAL_MATCH | LAD pitch_count_summary total, row sum, and pitching total all match: 169. | |||
| 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 | CIN | PITCHING_REALISM | current:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CIN | STARTER_PRESENT | current:CIN includes a starter/opener role. | |||
| PASS | pitching | current | LAD | PITCHING_REALISM | current:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAD | STARTER_PRESENT | current:LAD includes a starter/opener role. | |||
| PASS | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CIN | STARTER_PRESENT | simulation:CIN includes a starter/opener role. | |||
| PASS | pitching | simulation | LAD | PITCHING_REALISM | simulation:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAD | STARTER_PRESENT | simulation:LAD includes a starter/opener role. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: LAD 9 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAD 9 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 9-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAD, simulation=LAD, published=LAD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 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): LAD wins 9-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD wins 9-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 9-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 9-5, final 9-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 14. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAD wins 9-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CIN | RECENT_FORM_RANGE | CIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CIN | TEAM_RECENT_RECORD | CIN wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | LAD | RECENT_FORM_RANGE | LAD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAD | TEAM_RECENT_RECORD | LAD wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | LAD | BATTING_REALISM | current:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAD | BATTING_REALISM | simulation:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CIN | BATTING_TOTALS_SUM | current:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | LAD | BATTING_TOTALS_SUM | current:LAD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAD | BATTING_TOTALS_SUM | simulation:LAD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match LAD pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match LAD pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=40 matches LAD BF=40. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_BB_MATCH | simulation:LAD batting walks match CIN pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match CIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match CIN pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=46 matches CIN BF=46. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 9. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.888 -> 0.721 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.888096, 'sample_size': 233, 'empirical_hit_rate': 0.5536, 'empirical_weight': 0.5, 'blended_confidence': 0.720848, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CIN | CURRENT_LINEUP_SHAPE | CIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CIN | CURRENT_MODEL_ZERO_FALLBACK | CIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CIN | CURRENT_NAMES_PRESENT | CIN current hitter names are populated. | |||
| PASS | current_payload | current | CIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | CIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | LAD | CURRENT_LINEUP_SHAPE | LAD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAD | CURRENT_MODEL_ZERO_FALLBACK | LAD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAD | CURRENT_NAMES_PRESENT | LAD current hitter names are populated. | |||
| PASS | current_payload | current | LAD | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 14 is reasonably close to low-score expected_total_runs 14.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.484/0.665. | |||||
| 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: LAD 11, CIN 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAD 9 - CIN 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAD; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; local prediction memory shows 6 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'local prediction memory shows 6 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'CIN', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 2, 'opponent_runs': 6, 'margin_for_predicted_team': -4, 'winner': 'CIN'}, {'date': '2026-09-15', 'predicted_team_runs': 4, 'opponent_runs': 0, 'margin_for_predicted_team': 4, 'winner': 'LAD'}, {'date': '2026-09-14', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'LAD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 6, 'consecutive_same_pick_count': 6, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'LAD', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'CIN', 'actual_margin': 4, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260916_LAD@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'LAD', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 4, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260915_LAD@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260914', 'away': 'LAD', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 3, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260914_LAD@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260909', 'away': 'CIN', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 13, 'raw_pick_probability': 0.58, 'artifact': '20260909_CIN@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'CIN', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 1, 'raw_pick_probability': 0.671836, 'artifact': '20260908_CIN@LAD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAD', 'guardrail_opponent_team': 'CIN', 'output_pre_simulation_winner': 'LAD', 'output_opponent_team': 'CIN', 'simulation_score_winner': 'LAD', 'final_score_winner': 'LAD', 'pre_simulation_winner': 'LAD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0587, 'recent_form_edge_home_minus_away': -1.414, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 9, 'home_runs': 5, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 5}, 'simulation_score': {'away_runs': 9, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.9288, 'winner': 'LAD', 'score_reviewed': {'away_runs': 9, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_LAD@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAD@CIN. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -17.0, 'absolute_net_margin': 17.0, 'home_average_margin': -3.4, 'home_run_delta': -0.0981, 'away_run_delta': 0.0981, 'evidence': [{'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -13.0}, {'game_id': None, 'home_margin': -1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 8, 'probability': 0.01336744264200959}, {'home_runs': 5, 'away_runs': 9, 'probability': 0.013047159084434722}, {'home_runs': 6, 'away_runs': 8, 'probability': 0.01287941486345342}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.012857005199560057}, {'home_runs': 6, 'away_runs': 9, 'probability': 0.0125708244380129}], 'home_distribution': {'0': 0.035226788691975444, '1': 0.05595938883989819, '2': 0.08043451548828204, '3': 0.10461200274012163, '4': 0.12310910156519388, '5': 0.13108964466976789, '6': 0.1263037338719276, '7': 0.11011172644117054, '8': 0.08686014166385428, '9': 0.06199791347533426, '10': 0.040040841217663554, '11': 0.023399085875710105, '12': 0.012372691050392076, '13': 0.00591969082519091, '14': 0.0025627335835177053}, 'away_distribution': {'0': 0.012731136976455922, '1': 0.02059974617469859, '2': 0.03129072791308219, '3': 0.044619898915639875, '4': 0.059731114301060755, '5': 0.07506401154648461, '6': 0.08855682597490634, '7': 0.09807796208425577, '8': 0.10197176653948481, '9': 0.09952852582141204, '10': 0.09119569108724507, '11': 0.07844408197497155, '12': 0.06334395409689424, '13': 0.048018575609993626, '14': 0.0341721650786474, '15': 0.022829417835053385, '16': 0.014317800169680022, '17': 0.008429792323704176, '18': 0.004659255997986297, '19': 0.00241754957834331}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -2.3191, 'recent_quality_edge': -1.204, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.9288} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 5, 'score_text': 'LAD 9 - 5 CIN', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0587, 'recent_form_edge_home_minus_away': -1.414, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 9, 'home_runs': 5, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 5}, 'simulation_score': {'away_runs': 9, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.9288, 'winner': 'LAD', 'score_reviewed': {'away_runs': 9, '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: 169. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 202. | |||||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_PITCHER_MATCH | CIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_TOTAL_MATCH | CIN pitch_count_summary total, row sum, and pitching total all match: 202. | |||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_PITCHER_MATCH | LAD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_TOTAL_MATCH | LAD pitch_count_summary total, row sum, and pitching total all match: 169. | |||
| 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 | CIN | PITCHING_REALISM | current:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CIN | STARTER_PRESENT | current:CIN includes a starter/opener role. | |||
| PASS | pitching | current | LAD | PITCHING_REALISM | current:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAD | STARTER_PRESENT | current:LAD includes a starter/opener role. | |||
| PASS | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CIN | STARTER_PRESENT | simulation:CIN includes a starter/opener role. | |||
| PASS | pitching | simulation | LAD | PITCHING_REALISM | simulation:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAD | STARTER_PRESENT | simulation:LAD includes a starter/opener role. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: LAD 9 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAD 9 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 9-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAD, simulation=LAD, published=LAD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 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): LAD wins 9-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD wins 9-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 9-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 9-5, final 9-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 14. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAD wins 9-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CIN | RECENT_FORM_RANGE | CIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CIN | TEAM_RECENT_RECORD | CIN wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | LAD | RECENT_FORM_RANGE | LAD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAD | TEAM_RECENT_RECORD | LAD wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CIN | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | LAD | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=34, sim=38; H: current=7, sim=11; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=1; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Elly De La Cruz: AB current=4 box=5, H current=1 box=3, HR current=1 box=0, RBI current=1 box=0; Juan Brito: R current=0 box=1; Matt McLain: RBI current=0 box=1, SO current=1 box=0; Héctor Rodríguez: RBI current=0 box=1, R current=0 box=1; Ke'Bryan Hayes: AB current=3 box=4, SO current=1 box=2; TJ Friedl: AB current=3 box=4, H current=0 box=1, SO current=1 box=0; Sal Stewart: 2B current=0 box=1, BB current=0 box=1, SO current=1 box=2; Tyler Stephenson: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=8, sim=11; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=9; R: current=4, sim=9; BB: current=4, sim=8; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Edman: AB current=4 box=6; Max Muncy: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Josue De Paula: AB current=3 box=5, H current=1 box=3, R current=0 box=1, BB current=1 box=0; Kyle Tucker: H current=1 box=2, 3B current=0 box=1, HR current=0 box=1, RBI current=1 box=6; Freddie Freeman: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1, R current=0 box=1; Miguel Rojas: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Teoscar Hernández: BB current=0 box=1, SO current=1 box=2; Hunter Feduccia: AB current=3 box=4, H 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.8404756001383555 | 4.011015037037004 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 8 | 5 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 9 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 9 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 9 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 9 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | 0 | 1 | 3 | 1 | 0 | 0 | 4 | 0 | 0 | 9 | 11 |
| CIN | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 1 | 5 | 11 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAD | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | LAD | pitching | 11 | 1 | 5 | 1 | 9 | 9.0 | 5 | 0 | 0 | |||||||||
| current | CIN | batting | 34 | 7 | 1 | 0 | 1 | 4 | 3 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | CIN | pitching | 11 | 1 | 9 | 8 | 9 | 9.0 | 8 | 0 | 0 | |||||||||
| simulation | LAD | batting | 38 | 11 | 2 | 1 | 1 | 9 | 9 | 8 | 9 | 0 | 0 | |||||||
| simulation | LAD | pitching | 11 | 1 | 5 | 1 | 9 | 9.0 | 5 | 40 | 169 | |||||||||
| simulation | CIN | batting | 38 | 11 | 1 | 0 | 1 | 5 | 5 | 1 | 9 | 0 | 1 | |||||||
| simulation | CIN | pitching | 11 | 1 | 9 | 8 | 9 | 9.0 | 9 | 46 | 202 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAD | CF | Tommy Edman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAD | 3B | Max Muncy | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAD | DH | Josue De Paula | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 | |
| current | LAD | RF | Kyle Tucker | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAD | 1B | Freddie Freeman | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAD | SS | Miguel Rojas | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | LAD | LF | Teoscar Hernández | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAD | C | Hunter Feduccia | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAD | 2B | Alex Freeland | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | DH | Elly De La Cruz | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | 2B | Juan Brito | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CIN | SS | Matt McLain | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CIN | RF | Héctor Rodríguez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CIN | 3B | Ke'Bryan Hayes | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CIN | LF | TJ Friedl | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CIN | 1B | Sal Stewart | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CIN | C | Tyler Stephenson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | CF | Dane Myers | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| simulation | LAD | 1 | CF | Tommy Edman | 6 | 6 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.167 |
| simulation | LAD | 2 | 1B | Freddie Freeman | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.500 |
| simulation | LAD | 3 | RF | Kyle Tucker | 5 | 4 | 2 | 0 | 1 | 1 | 1 | 6 | 1 | 0 | 0 | 0.500 |
| simulation | LAD | 4 | LF | Teoscar Hernández | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 |
| simulation | LAD | 5 | 3B | Max Muncy | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | LAD | 6 | DH | Josue De Paula | 5 | 5 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.600 |
| simulation | LAD | 7 | C | Hunter Feduccia | 5 | 4 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | LAD | 8 | 2B | Alex Freeland | 5 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | LAD | 9 | SS | Miguel Rojas | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | CIN | 1 | CF | Dane Myers | 5 | 5 | 3 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.600 |
| simulation | CIN | 2 | DH | Elly De La Cruz | 5 | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.600 |
| simulation | CIN | 3 | 1B | Sal Stewart | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 |
| simulation | CIN | 4 | C | Tyler Stephenson | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.000 |
| simulation | CIN | 5 | 2B | Juan Brito | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 6 | SS | Matt McLain | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | CIN | 7 | RF | Héctor Rodríguez | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 8 | 3B | Ke'Bryan Hayes | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | CIN | 9 | LF | TJ Friedl | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAD | 1 | Justin Wrobleski | Starter | 5.0 | 6 | 3 | 3 | 1 | 4 | 0 | 0 | 0 | 5.40 | 3.78 | 1.16 |
| current | LAD | 2 | Brock Stewart | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.28 | 1.01 |
| current | LAD | 4 | Alex Vesia | Middle Reliever (High Leverage) | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 2.83 | 1.13 |
| current | LAD | 5 | Tanner Scott | Closer | 1.2 | 2 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 5.40 | 2.87 | 1.02 |
| current | CIN | 1 | Brady Singer | Starter | 4.2 | 7 | 5 | 4 | 4 | 8 | 0 | 0 | 0 | 7.71 | 5.38 | 1.51 |
| current | CIN | 2 | Brock Burke | Middle Reliever (High Leverage) | 1.0 | 2 | 4 | 4 | 2 | 0 | 1 | 0 | 0 | 36.00 | 2.40 | 1.28 |
| current | CIN | 3 | Emilio Pagán | Closer | 1.0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.63 | 1.03 |
| current | CIN | 4 | Luis Mey | Setup Man | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 6.37 | 1.69 |
| current | CIN | 5 | Tony Santillan | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 5.67 | 1.56 |
| current | CIN | 6 | Tejay Antone | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.82 | 1.04 |
| simulation | LAD | 1 | Justin Wrobleski | Starter | 5.0 | 6 | 3 | 3 | 1 | 4 | 0 | 23 | 97 | 5.40 | 3.78 | 1.16 |
| simulation | LAD | 2 | Tanner Scott | Closer | 1.2 | 2 | 1 | 1 | 0 | 2 | 1 | 7 | 33 | 5.40 | 2.87 | 1.02 |
| simulation | LAD | 3 | Brock Stewart | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 17 | 0.00 | 2.28 | 1.01 |
| simulation | LAD | 4 | Alex Vesia | Middle Reliever (High Leverage) | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 6 | 22 | 9.00 | 2.83 | 1.13 |
| simulation | CIN | 1 | Brady Singer | Starter | 4.2 | 7 | 5 | 5 | 4 | 8 | 0 | 25 | 108 | 9.64 | 5.38 | 1.51 |
| simulation | CIN | 2 | Emilio Pagán | Closer | 1.0 | 1 | 0 | 0 | 1 | 0 | 0 | 5 | 20 | 0.00 | 3.63 | 1.03 |
| simulation | CIN | 3 | Luis Mey | Setup Man | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 20 | 0.00 | 6.37 | 1.69 |
| simulation | CIN | 4 | Brock Burke | Middle Reliever (High Leverage) | 1.0 | 2 | 4 | 4 | 2 | 0 | 1 | 7 | 37 | 36.00 | 2.40 | 1.28 |
| simulation | CIN | 5 | Tony Santillan | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 5.67 | 1.56 |
| simulation | CIN | 6 | Tejay Antone | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 | 0.00 | 2.82 | 1.04 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| LAD | Justin Wrobleski | Starter | 5.0 | 3 | 6 | 1 | 4 | 23 | 97 |
| LAD | Brock Stewart | Setup Man | 1.1 | 0 | 0 | 0 | 2 | 4 | 17 |
| LAD | Alex Vesia | Middle Reliever (High Leverage) | 1.0 | 1 | 3 | 0 | 1 | 6 | 22 |
| LAD | Tanner Scott | Closer | 1.2 | 1 | 2 | 0 | 2 | 7 | 33 |
| CIN | Brady Singer | Starter | 4.2 | 5 | 7 | 4 | 8 | 25 | 108 |
| CIN | Brock Burke | Middle Reliever (High Leverage) | 1.0 | 4 | 2 | 2 | 0 | 7 | 37 |
| CIN | Emilio Pagán | Closer | 1.0 | 0 | 1 | 1 | 0 | 5 | 20 |
| CIN | Luis Mey | Setup Man | 1.0 | 0 | 1 | 1 | 1 | 5 | 20 |
| CIN | Tony Santillan | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| CIN | Tejay Antone | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 1 | 4 |
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. |
20260917_MIL@PIT
20260917_MIL@PIT.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model pitcher projections differ from final simulation pitching box score (H: current=9, sim=10; HR: current=1, sim=2). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=10; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; BB: current=4, sim=6; SO: current=8, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Luis Lara: AB current=4 box=5, H current=1 box=2, BB current=1 box=0, SO current=1 box=2; Gary Sánchez: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, SO current=1 box=2; Joey Ortiz: AB current=4 box=5, H current=1 box=2, R current=0 box=1, SO current=1 box=2; Sal Frelick: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SF current=0 box=1; Andrew Vaughn: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Brice Turang: AB current=4 box=3, H current=1 box=2, BB current=1 box=2; Jackson Chourio: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Bo Naylor: H current=0 box=1, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=34, sim=37; H: current=9, sim=10; 2B: current=2, sim=0; HR: current=1, sim=2; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=3, sim=5; SO: current=10, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Rafael Flores Jr.: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Konnor Griffin: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nick Gonzales: BB current=0 box=1; Ronny Simon: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Jared Triolo: BB current=0 box=1, SO current=1 box=2; Oneil Cruz: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, BB current=1 box=0; Bryan Reynolds: 2B current=1 box=0, RBI current=1 box=0; Brandon Lowe: AB current=4 box=5, H current=1 box=4, HR current=0 box=1, RBI current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match PIT pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match PIT pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match PIT pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=43 matches PIT BF=43. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match MIL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match MIL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match MIL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=42 matches MIL BF=42. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.789 -> 0.678 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.788943, 'sample_size': 347, 'empirical_hit_rate': 0.5677, 'empirical_weight': 0.5, 'blended_confidence': 0.678321, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.515/0.701. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 10, PIT 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 6 - PIT 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIL; cap=0.56, reasons=local prediction memory shows 8 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['local prediction memory shows 8 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'PIT', 'h2h_net_margin': 8, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, 'winner': 'MIL'}, {'date': '2026-09-15', 'predicted_team_runs': 5, 'opponent_runs': 1, 'margin_for_predicted_team': 4, 'winner': 'MIL'}, {'date': '2026-08-06', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'MIL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 8, 'consecutive_same_pick_count': 8, 'same_pick_actual_loss_count': 3, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'MIL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260916_MIL@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'MIL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 4, 'raw_pick_probability': 0.56, 'artifact': '20260915_MIL@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260806', 'away': 'PIT', 'home': 'MIL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 3, 'raw_pick_probability': 0.56, 'artifact': '20260806_PIT@MIL.json', 'verification': 'pregame_official_final'}, {'date': '20260805', 'away': 'PIT', 'home': 'MIL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260805_PIT@MIL.json', 'verification': 'pregame_official_final'}, {'date': '20260804', 'away': 'PIT', 'home': 'MIL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260804_PIT@MIL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIL', 'guardrail_opponent_team': 'PIT', 'output_pre_simulation_winner': 'MIL', 'output_opponent_team': 'PIT', 'simulation_score_winner': 'MIL', 'final_score_winner': 'MIL', 'pre_simulation_winner': 'MIL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0615, 'recent_form_edge_home_minus_away': -1.138, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'MIL', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1696, 'winner': 'MIL', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_MIL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@PIT. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -12.0, 'absolute_net_margin': 12.0, 'home_average_margin': -2.4, 'home_run_delta': -0.0692, 'away_run_delta': 0.0692, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -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': 6, 'probability': 0.01644168339852683}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.01638450796069867}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.01611982209960144}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.01606376592433539}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.015239213158185785}], 'home_distribution': {'0': 0.04755016476529515, '1': 0.07484572794693252, '2': 0.10466024581419073, '3': 0.13001582838412482, '4': 0.1434863035516719, '5': 0.14067742523187154, '6': 0.12252878233375866, '7': 0.09480943695524492, '8': 0.06517255698824714, '9': 0.0397995073942927, '10': 0.021591875940785578, '11': 0.010406454721750058, '12': 0.004455689971834287}, 'away_distribution': {'0': 0.02206907786189367, '1': 0.03542019912855705, '2': 0.05250748235539165, '3': 0.07189435254492337, '4': 0.09092257860137086, '5': 0.10620674434405428, '6': 0.11458712777143844, '7': 0.114188654632101, '8': 0.1051026010274973, '9': 0.08935263344459864, '10': 0.07016243208528283, '11': 0.05088681837632375, '12': 0.03408861421963258, '13': 0.02109195228185967, '14': 0.012053900407478025, '15': 0.006362705215826668, '16': 0.003102125701770253}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.375, 'recent_quality_edge': -0.788, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.1696} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0615, 'recent_form_edge_home_minus_away': -1.138, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'MIL', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1696, 'winner': 'MIL', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 190. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 188. | |||||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_PITCHER_MATCH | MIL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_TOTAL_MATCH | MIL pitch_count_summary total, row sum, and pitching total all match: 190. | |||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_PITCHER_MATCH | PIT pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_TOTAL_MATCH | PIT pitch_count_summary total, row sum, and pitching total all match: 188. | |||
| 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 | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | current | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIL 6 - 4 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 6 - 4 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 6-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIL, simulation=MIL, published=MIL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIL wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 6-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-4, final 6-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 6-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 7/10 = 0.700. | |||
| PASS | team_recent_performance | current | PIT | RECENT_FORM_RANGE | PIT recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PIT | TEAM_RECENT_RECORD | PIT wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match PIT pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match PIT pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match PIT pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=43 matches PIT BF=43. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match MIL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match MIL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match MIL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=42 matches MIL BF=42. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.789 -> 0.678 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.788943, 'sample_size': 347, 'empirical_hit_rate': 0.5677, 'empirical_weight': 0.5, 'blended_confidence': 0.678321, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.515/0.701. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 10, PIT 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 6 - PIT 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIL; cap=0.56, reasons=local prediction memory shows 8 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['local prediction memory shows 8 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'PIT', 'h2h_net_margin': 8, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, 'winner': 'MIL'}, {'date': '2026-09-15', 'predicted_team_runs': 5, 'opponent_runs': 1, 'margin_for_predicted_team': 4, 'winner': 'MIL'}, {'date': '2026-08-06', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'MIL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 8, 'consecutive_same_pick_count': 8, 'same_pick_actual_loss_count': 3, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'MIL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260916_MIL@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'MIL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 4, 'raw_pick_probability': 0.56, 'artifact': '20260915_MIL@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260806', 'away': 'PIT', 'home': 'MIL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 3, 'raw_pick_probability': 0.56, 'artifact': '20260806_PIT@MIL.json', 'verification': 'pregame_official_final'}, {'date': '20260805', 'away': 'PIT', 'home': 'MIL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260805_PIT@MIL.json', 'verification': 'pregame_official_final'}, {'date': '20260804', 'away': 'PIT', 'home': 'MIL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260804_PIT@MIL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIL', 'guardrail_opponent_team': 'PIT', 'output_pre_simulation_winner': 'MIL', 'output_opponent_team': 'PIT', 'simulation_score_winner': 'MIL', 'final_score_winner': 'MIL', 'pre_simulation_winner': 'MIL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0615, 'recent_form_edge_home_minus_away': -1.138, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'MIL', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1696, 'winner': 'MIL', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_MIL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@PIT. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -12.0, 'absolute_net_margin': 12.0, 'home_average_margin': -2.4, 'home_run_delta': -0.0692, 'away_run_delta': 0.0692, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -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': 6, 'probability': 0.01644168339852683}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.01638450796069867}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.01611982209960144}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.01606376592433539}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.015239213158185785}], 'home_distribution': {'0': 0.04755016476529515, '1': 0.07484572794693252, '2': 0.10466024581419073, '3': 0.13001582838412482, '4': 0.1434863035516719, '5': 0.14067742523187154, '6': 0.12252878233375866, '7': 0.09480943695524492, '8': 0.06517255698824714, '9': 0.0397995073942927, '10': 0.021591875940785578, '11': 0.010406454721750058, '12': 0.004455689971834287}, 'away_distribution': {'0': 0.02206907786189367, '1': 0.03542019912855705, '2': 0.05250748235539165, '3': 0.07189435254492337, '4': 0.09092257860137086, '5': 0.10620674434405428, '6': 0.11458712777143844, '7': 0.114188654632101, '8': 0.1051026010274973, '9': 0.08935263344459864, '10': 0.07016243208528283, '11': 0.05088681837632375, '12': 0.03408861421963258, '13': 0.02109195228185967, '14': 0.012053900407478025, '15': 0.006362705215826668, '16': 0.003102125701770253}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.375, 'recent_quality_edge': -0.788, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.1696} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'MIL 6 - 4 PIT', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0615, 'recent_form_edge_home_minus_away': -1.138, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'MIL', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1696, 'winner': 'MIL', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 190. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 188. | |||||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_PITCHER_MATCH | MIL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_TOTAL_MATCH | MIL pitch_count_summary total, row sum, and pitching total all match: 190. | |||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_PITCHER_MATCH | PIT pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_TOTAL_MATCH | PIT pitch_count_summary total, row sum, and pitching total all match: 188. | |||
| 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 | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | current | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIL 6 - 4 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 6 - 4 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 6-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIL, simulation=MIL, published=MIL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIL wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 6-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-4, final 6-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 6-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 7/10 = 0.700. | |||
| PASS | team_recent_performance | current | PIT | RECENT_FORM_RANGE | PIT recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PIT | TEAM_RECENT_RECORD | PIT wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model pitcher projections differ from final simulation pitching box score (H: current=9, sim=10; HR: current=1, sim=2). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=10; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; BB: current=4, sim=6; SO: current=8, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Luis Lara: AB current=4 box=5, H current=1 box=2, BB current=1 box=0, SO current=1 box=2; Gary Sánchez: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, SO current=1 box=2; Joey Ortiz: AB current=4 box=5, H current=1 box=2, R current=0 box=1, SO current=1 box=2; Sal Frelick: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SF current=0 box=1; Andrew Vaughn: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Brice Turang: AB current=4 box=3, H current=1 box=2, BB current=1 box=2; Jackson Chourio: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Bo Naylor: H current=0 box=1, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=34, sim=37; H: current=9, sim=10; 2B: current=2, sim=0; HR: current=1, sim=2; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=3, sim=5; SO: current=10, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Rafael Flores Jr.: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Konnor Griffin: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nick Gonzales: BB current=0 box=1; Ronny Simon: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Jared Triolo: BB current=0 box=1, SO current=1 box=2; Oneil Cruz: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, BB current=1 box=0; Bryan Reynolds: 2B current=1 box=0, RBI current=1 box=0; Brandon Lowe: AB current=4 box=5, H current=1 box=4, HR current=0 box=1, RBI current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.140166611835451 | 4.201057581156119 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 6 | 4 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 6 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 6 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 6 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 0 | 6 | 10 |
| PIT | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 4 | 10 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | batting | 32 | 8 | 2 | 0 | 1 | 5 | 4 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIL | pitching | 9 | 1 | 4 | 5 | 9 | 9.0 | 4 | 0 | 0 | |||||||||
| current | PIT | batting | 34 | 9 | 2 | 0 | 1 | 5 | 5 | 3 | 10 | 0 | 0 | 0 | 0 | |||||
| current | PIT | pitching | 10 | 2 | 6 | 6 | 11 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | MIL | batting | 36 | 10 | 3 | 0 | 2 | 6 | 6 | 6 | 11 | 1 | 0 | |||||||
| simulation | MIL | pitching | 10 | 2 | 4 | 5 | 9 | 9.0 | 4 | 42 | 190 | |||||||||
| simulation | PIT | batting | 37 | 10 | 0 | 0 | 2 | 4 | 4 | 5 | 9 | 0 | 0 | |||||||
| simulation | PIT | pitching | 10 | 2 | 6 | 6 | 11 | 9.0 | 6 | 43 | 188 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | CF | Luis Lara | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | DH | Gary Sánchez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.333 | |
| current | MIL | SS | Joey Ortiz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIL | RF | Sal Frelick | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | MIL | 1B | Andrew Vaughn | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | MIL | 2B | Brice Turang | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | LF | Jackson Chourio | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | C | Bo Naylor | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | MIL | 3B | David Hamilton | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | 1B | Rafael Flores Jr. | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | SS | Konnor Griffin | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | DH | Nick Gonzales | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | RF | Ronny Simon | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | 3B | Jared Triolo | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | CF | Oneil Cruz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 | |
| current | PIT | LF | Bryan Reynolds | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | 2B | Brandon Lowe | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | C | Henry Davis | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | MIL | 1 | 2B | Brice Turang | 5 | 3 | 2 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0.667 |
| simulation | MIL | 2 | CF | Luis Lara | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.400 |
| simulation | MIL | 3 | LF | Jackson Chourio | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIL | 4 | 1B | Andrew Vaughn | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | MIL | 5 | DH | Gary Sánchez | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.250 |
| simulation | MIL | 6 | SS | Joey Ortiz | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.400 |
| simulation | MIL | 7 | RF | Sal Frelick | 5 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | MIL | 8 | C | Bo Naylor | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 2 | 0 | 0.333 |
| simulation | MIL | 9 | 3B | David Hamilton | 4 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | PIT | 1 | SS | Konnor Griffin | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PIT | 2 | CF | Oneil Cruz | 5 | 5 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.400 |
| simulation | PIT | 3 | LF | Bryan Reynolds | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | PIT | 4 | 1B | Rafael Flores Jr. | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | PIT | 5 | 2B | Brandon Lowe | 5 | 5 | 4 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.800 |
| simulation | PIT | 6 | DH | Nick Gonzales | 5 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | PIT | 7 | RF | Ronny Simon | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | PIT | 8 | 3B | Jared Triolo | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.333 |
| simulation | PIT | 9 | C | Henry Davis | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | 1 | Kyle Harrison | Starter | 5.0 | 4 | 3 | 3 | 4 | 5 | 1 | 0 | 0 | 5.40 | 3.66 | 1.27 |
| current | MIL | 2 | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 3.13 | 1.37 |
| current | MIL | 3 | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.11 | 1.03 |
| current | MIL | 4 | Antonio Senzatela | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.26 | 1.36 |
| current | MIL | 5 | Trevor Megill | Closer | 1.0 | 2 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 1.87 | 0.87 |
| current | PIT | 1 | Wilber Dotel | Starter | 5.0 | 4 | 1 | 1 | 3 | 6 | 0 | 0 | 0 | 1.80 | 3.31 | 1.19 |
| current | PIT | 2 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 5 | 4 | 4 | 0 | 1 | 1 | 0 | 0 | 36.00 | 3.45 | 1.10 |
| current | PIT | 3 | Luke Weaver | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0.00 | 2.56 | 0.94 |
| current | PIT | 4 | Mason Montgomery | Closer | 1.0 | 1 | 1 | 1 | 0 | 3 | 1 | 0 | 0 | 9.00 | 2.44 | 0.99 |
| current | PIT | 5 | Yohan Ramírez | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.05 | 1.23 |
| simulation | MIL | 1 | Kyle Harrison | Starter | 5.0 | 4 | 2 | 2 | 4 | 5 | 1 | 23 | 103 | 3.60 | 3.66 | 1.27 |
| simulation | MIL | 2 | Trevor Megill | Closer | 1.0 | 2 | 0 | 0 | 1 | 2 | 0 | 6 | 23 | 0.00 | 1.87 | 0.87 |
| simulation | MIL | 3 | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 14 | 0.00 | 2.11 | 1.03 |
| simulation | MIL | 4 | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 25 | 0.00 | 3.13 | 1.37 |
| simulation | MIL | 5 | Antonio Senzatela | Middle Reliever (High Leverage) | 1.0 | 4 | 2 | 2 | 0 | 1 | 1 | 7 | 25 | 18.00 | 4.26 | 1.36 |
| simulation | PIT | 1 | Wilber Dotel | Starter | 5.0 | 4 | 1 | 1 | 3 | 6 | 0 | 22 | 99 | 1.80 | 3.31 | 1.19 |
| simulation | PIT | 2 | Mason Montgomery | Closer | 1.0 | 1 | 1 | 1 | 0 | 3 | 1 | 4 | 16 | 9.00 | 2.44 | 0.99 |
| simulation | PIT | 3 | Luke Weaver | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 1 | 0 | 5 | 21 | 0.00 | 2.56 | 0.94 |
| simulation | PIT | 4 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 5 | 4 | 4 | 0 | 1 | 1 | 8 | 35 | 36.00 | 3.45 | 1.10 |
| simulation | PIT | 5 | Yohan Ramírez | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 17 | 0.00 | 3.05 | 1.23 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Kyle Harrison | Starter | 5.0 | 2 | 4 | 4 | 5 | 23 | 103 |
| MIL | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 3 | 25 |
| MIL | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 14 |
| MIL | Antonio Senzatela | Middle Reliever (High Leverage) | 1.0 | 2 | 4 | 0 | 1 | 7 | 25 |
| MIL | Trevor Megill | Closer | 1.0 | 0 | 2 | 1 | 2 | 6 | 23 |
| PIT | Wilber Dotel | Starter | 5.0 | 1 | 4 | 3 | 6 | 22 | 99 |
| PIT | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 4 | 5 | 0 | 1 | 8 | 35 |
| PIT | Luke Weaver | Setup Man | 1.0 | 0 | 0 | 2 | 1 | 5 | 21 |
| PIT | Mason Montgomery | Closer | 1.0 | 1 | 1 | 0 | 3 | 4 | 16 |
| PIT | Yohan Ramírez | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 0 | 4 | 17 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_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. |
20260917_MIN@LAA
20260917_MIN@LAA.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAA | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=7, sim=6; R: current=4, sim=3; BB: current=3, sim=1; SO: current=11, sim=9; HBP: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Wade Meckler: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Josh Lowe: H current=1 box=0, SO current=1 box=2, HBP current=0 box=1; Moisés Ballesteros: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Jose Siri: AB current=3 box=4, H current=1 box=3, HR current=0 box=1, RBI current=1 box=2; Denzer Guzman: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Tyler Heineman: AB current=3 box=4, SO current=1 box=2; Zach Neto: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0, SO current=2 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model pitcher projections differ from final simulation pitching box score (H: current=5, sim=6). | 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=32, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; BB: current=3, sim=2; SO: current=8, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Emmanuel Rodriguez: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Kody Clemens: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Brooks Lee: 2B current=0 box=1, SO current=1 box=0; Josh Bell: 2B current=1 box=0, BB current=1 box=0, SO current=1 box=0; Royce Lewis: H current=1 box=2, SO current=1 box=0; Victor Caratini: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Walker Jenkins: AB current=3 box=4, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAA | BATTING_TOTALS_SUM | current:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAA | BATTING_TOTALS_SUM | simulation:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match MIN pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match MIN pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=36 matches MIN BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match LAA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match LAA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match LAA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=37 matches LAA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.504 -> 0.528 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.50365, 'sample_size': 676, 'empirical_hit_rate': 0.5518, 'empirical_weight': 0.5, 'blended_confidence': 0.527725, 'published_confidence': 0.516481, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | LAA | CURRENT_LINEUP_SHAPE | LAA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAA | CURRENT_MODEL_ZERO_FALLBACK | LAA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAA | CURRENT_NAMES_PRESENT | LAA current hitter names are populated. | |||
| PASS | current_payload | current | LAA | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.484. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.732/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 8, LAA 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 4 - LAA 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIN. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIN; cap=0.56, reasons=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': ['local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIN', 'opponent_team': 'LAA', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-07-12', 'predicted_team_runs': 4, 'opponent_runs': 2, 'margin_for_predicted_team': 2, 'winner': 'MIN'}, {'date': '2026-07-11', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'MIN'}, {'date': '2026-07-10', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'LAA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260712', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260712_LAA@MIN.json', 'verification': 'pregame_official_final'}, {'date': '20260711', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260711_LAA@MIN.json', 'verification': 'pregame_official_final'}, {'date': '20260710', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.64, 'artifact': '20260710_LAA@MIN.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIN', 'guardrail_opponent_team': 'LAA', 'output_pre_simulation_winner': 'MIN', 'output_opponent_team': 'LAA', 'simulation_score_winner': 'MIN', 'final_score_winner': 'MIN', 'pre_simulation_winner': 'MIN', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', '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.0339, 'recent_form_edge_home_minus_away': 0.4073, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 1.0, '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': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0786, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_MIN@LAA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@LAA. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 3, 'sample_weight': 0.0409, 'home_net_margin': -3.0, 'absolute_net_margin': 3.0, 'home_average_margin': -1.0, 'home_run_delta': -0.0205, 'away_run_delta': 0.0205, 'evidence': [{'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': 1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 3, 'probability': 0.033926630350249516}, {'home_runs': 2, 'away_runs': 3, 'probability': 0.03216398254546607}, {'home_runs': 3, 'away_runs': 2, 'probability': 0.03197443036360562}, {'home_runs': 2, 'away_runs': 2, 'probability': 0.03031320851788241}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.030025327595027157}], 'home_distribution': {'0': 0.09070355618379784, '1': 0.13817535581466528, '2': 0.17515364706848285, '3': 0.18475240216880845, '4': 0.1621598444554674, '5': 0.11843467168456592, '6': 0.0719774933264298, '7': 0.03639962349527713, '8': 0.015317199931823644, '9': 0.005363449389430246, '10': 0.0015627564812514879}, 'away_distribution': {'0': 0.0891998760486428, '1': 0.13604542076786236, '2': 0.17306638500099475, '3': 0.18363295931194834, '4': 0.16251657484590099, '5': 0.11996479191315014, '6': 0.07386166037404408, '7': 0.037930925900095946, '8': 0.01624714059533352, '9': 0.005804563279212216, '10': 0.0017297019628150173}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.1612, 'recent_quality_edge': 0.524, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0786} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', '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.0339, 'recent_form_edge_home_minus_away': 0.4073, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 1.0, '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': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0786, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 152. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 144. | |||||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_PITCHER_MATCH | LAA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_TOTAL_MATCH | LAA pitch_count_summary total, row sum, and pitching total all match: 144. | |||
| 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: 152. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAA | PITCHING_REALISM | current:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAA | STARTER_PRESENT | current:LAA includes a starter/opener role. | |||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | LAA | PITCHING_REALISM | simulation:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAA | STARTER_PRESENT | simulation:LAA includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIN 4 - 3 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 4 - 3 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 4-3. | |||||
| 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.516. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIN wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 2/10 = 0.200. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAA | BATTING_TOTALS_SUM | current:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAA | BATTING_TOTALS_SUM | simulation:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match MIN pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match MIN pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=36 matches MIN BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match LAA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match LAA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match LAA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=37 matches LAA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.504 -> 0.528 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.50365, 'sample_size': 676, 'empirical_hit_rate': 0.5518, 'empirical_weight': 0.5, 'blended_confidence': 0.527725, 'published_confidence': 0.516481, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | LAA | CURRENT_LINEUP_SHAPE | LAA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAA | CURRENT_MODEL_ZERO_FALLBACK | LAA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAA | CURRENT_NAMES_PRESENT | LAA current hitter names are populated. | |||
| PASS | current_payload | current | LAA | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.484. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.732/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 8, LAA 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 4 - LAA 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIN. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIN; cap=0.56, reasons=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': ['local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIN', 'opponent_team': 'LAA', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-07-12', 'predicted_team_runs': 4, 'opponent_runs': 2, 'margin_for_predicted_team': 2, 'winner': 'MIN'}, {'date': '2026-07-11', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'MIN'}, {'date': '2026-07-10', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'LAA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260712', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260712_LAA@MIN.json', 'verification': 'pregame_official_final'}, {'date': '20260711', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260711_LAA@MIN.json', 'verification': 'pregame_official_final'}, {'date': '20260710', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.64, 'artifact': '20260710_LAA@MIN.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIN', 'guardrail_opponent_team': 'LAA', 'output_pre_simulation_winner': 'MIN', 'output_opponent_team': 'LAA', 'simulation_score_winner': 'MIN', 'final_score_winner': 'MIN', 'pre_simulation_winner': 'MIN', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', '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.0339, 'recent_form_edge_home_minus_away': 0.4073, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 1.0, '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': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0786, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_MIN@LAA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@LAA. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 3, 'sample_weight': 0.0409, 'home_net_margin': -3.0, 'absolute_net_margin': 3.0, 'home_average_margin': -1.0, 'home_run_delta': -0.0205, 'away_run_delta': 0.0205, 'evidence': [{'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': 1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 3, 'probability': 0.033926630350249516}, {'home_runs': 2, 'away_runs': 3, 'probability': 0.03216398254546607}, {'home_runs': 3, 'away_runs': 2, 'probability': 0.03197443036360562}, {'home_runs': 2, 'away_runs': 2, 'probability': 0.03031320851788241}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.030025327595027157}], 'home_distribution': {'0': 0.09070355618379784, '1': 0.13817535581466528, '2': 0.17515364706848285, '3': 0.18475240216880845, '4': 0.1621598444554674, '5': 0.11843467168456592, '6': 0.0719774933264298, '7': 0.03639962349527713, '8': 0.015317199931823644, '9': 0.005363449389430246, '10': 0.0015627564812514879}, 'away_distribution': {'0': 0.0891998760486428, '1': 0.13604542076786236, '2': 0.17306638500099475, '3': 0.18363295931194834, '4': 0.16251657484590099, '5': 0.11996479191315014, '6': 0.07386166037404408, '7': 0.037930925900095946, '8': 0.01624714059533352, '9': 0.005804563279212216, '10': 0.0017297019628150173}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.1612, 'recent_quality_edge': 0.524, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0786} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 LAA', '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.0339, 'recent_form_edge_home_minus_away': 0.4073, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 1.0, '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': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0786, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 152. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 144. | |||||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_PITCHER_MATCH | LAA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_TOTAL_MATCH | LAA pitch_count_summary total, row sum, and pitching total all match: 144. | |||
| 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: 152. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAA | PITCHING_REALISM | current:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAA | STARTER_PRESENT | current:LAA includes a starter/opener role. | |||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | LAA | PITCHING_REALISM | simulation:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAA | STARTER_PRESENT | simulation:LAA includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIN 4 - 3 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 4 - 3 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 4-3. | |||||
| 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.516. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIN wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 2/10 = 0.200. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAA | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=7, sim=6; R: current=4, sim=3; BB: current=3, sim=1; SO: current=11, sim=9; HBP: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Wade Meckler: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Josh Lowe: H current=1 box=0, SO current=1 box=2, HBP current=0 box=1; Moisés Ballesteros: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Jose Siri: AB current=3 box=4, H current=1 box=3, HR current=0 box=1, RBI current=1 box=2; Denzer Guzman: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Tyler Heineman: AB current=3 box=4, SO current=1 box=2; Zach Neto: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0, SO current=2 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model pitcher projections differ from final simulation pitching box score (H: current=5, sim=6). | 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=32, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; BB: current=3, sim=2; SO: current=8, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Emmanuel Rodriguez: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Kody Clemens: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Brooks Lee: 2B current=0 box=1, SO current=1 box=0; Josh Bell: 2B current=1 box=0, BB current=1 box=0, SO current=1 box=0; Royce Lewis: H current=1 box=2, SO current=1 box=0; Victor Caratini: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Walker Jenkins: AB current=3 box=4, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.523232382729424 | 3.8925059176420462 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 3 | 0.516 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | 1 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 4 | 8 |
| LAA | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 6 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIN | batting | 32 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIN | pitching | 5 | 1 | 3 | 1 | 9 | 9.0 | 3 | 0 | 0 | |||||||||
| current | LAA | batting | 32 | 7 | 1 | 0 | 1 | 3 | 4 | 3 | 11 | 0 | 0 | 0 | 0 | |||||
| current | LAA | pitching | 8 | 1 | 4 | 2 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | MIN | batting | 35 | 8 | 2 | 0 | 1 | 4 | 4 | 2 | 6 | 0 | 0 | |||||||
| simulation | MIN | pitching | 6 | 1 | 3 | 1 | 9 | 9.0 | 3 | 36 | 152 | |||||||||
| simulation | LAA | batting | 33 | 6 | 1 | 0 | 1 | 3 | 3 | 1 | 9 | 0 | 2 | |||||||
| simulation | LAA | pitching | 8 | 1 | 4 | 2 | 6 | 9.0 | 4 | 37 | 144 |
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 | LF | Emmanuel Rodriguez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | 2B | Kody Clemens | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | 3B | Brooks Lee | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | DH | Josh Bell | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIN | 1B | Royce Lewis | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIN | C | Victor Caratini | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIN | CF | Walker Jenkins | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | MIN | SS | Ben Ross | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | LAA | DH | Mike Trout | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAA | LF | Wade Meckler | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAA | RF | Josh Lowe | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAA | 1B | Moisés Ballesteros | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAA | CF | Jose Siri | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0.333 | |
| current | LAA | 3B | Denzer Guzman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | C | Tyler Heineman | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | LAA | SS | Zach Neto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 2 | 0 | 0.250 | |
| current | LAA | 2B | Oswald Peraza | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | MIN | 1 | RF | Luke Keaschall | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | MIN | 2 | 3B | Brooks Lee | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | MIN | 3 | 2B | Kody Clemens | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0.000 |
| simulation | MIN | 4 | DH | Josh Bell | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | MIN | 5 | LF | Emmanuel Rodriguez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | MIN | 6 | 1B | Royce Lewis | 4 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | MIN | 7 | C | Victor Caratini | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | MIN | 8 | CF | Walker Jenkins | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIN | 9 | SS | Ben Ross | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | LAA | 1 | SS | Zach Neto | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | LAA | 2 | DH | Mike Trout | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | LAA | 3 | LF | Wade Meckler | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | LAA | 4 | 1B | Moisés Ballesteros | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | LAA | 5 | 3B | Denzer Guzman | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | LAA | 6 | RF | Josh Lowe | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.000 |
| simulation | LAA | 7 | 2B | Oswald Peraza | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 |
| simulation | LAA | 8 | CF | Jose Siri | 4 | 4 | 3 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.750 |
| simulation | LAA | 9 | C | Tyler Heineman | 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 | MIN | 1 | Taj Bradley | Starter | 6.0 | 5 | 3 | 3 | 1 | 6 | 1 | 0 | 0 | 4.50 | 3.81 | 1.25 |
| current | MIN | 2 | A.J. Minter | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.96 | 1.02 |
| current | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.53 | 1.30 |
| current | MIN | 4 | Yoendrys Gómez | Closer | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 4.10 | 1.43 |
| current | LAA | 1 | Walbert Ureña | Starter | 5.2 | 3 | 1 | 1 | 2 | 5 | 0 | 0 | 0 | 1.59 | 2.88 | 1.24 |
| current | LAA | 2 | Ben Joyce | Closer | 1.0 | 4 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 18.00 | 3.38 | 1.12 |
| current | LAA | 3 | Ryan Watson | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.99 | 1.24 |
| current | LAA | 5 | Tayler Saucedo | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 9.00 | 2.89 | 1.02 |
| simulation | MIN | 1 | Taj Bradley | Starter | 6.0 | 5 | 3 | 3 | 1 | 6 | 1 | 26 | 107 | 4.50 | 3.81 | 1.25 |
| simulation | MIN | 2 | Yoendrys Gómez | Closer | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 4.10 | 1.43 |
| simulation | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.53 | 1.30 |
| simulation | MIN | 4 | A.J. Minter | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 19 | 0.00 | 1.96 | 1.02 |
| simulation | LAA | 1 | Walbert Ureña | Starter | 5.2 | 3 | 1 | 1 | 2 | 5 | 0 | 22 | 88 | 1.59 | 2.88 | 1.24 |
| simulation | LAA | 2 | Ben Joyce | Closer | 1.0 | 4 | 2 | 2 | 0 | 1 | 0 | 7 | 23 | 18.00 | 3.38 | 1.12 |
| simulation | LAA | 3 | Ryan Watson | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 3.99 | 1.24 |
| simulation | LAA | 4 | Tayler Saucedo | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 4 | 16 | 9.00 | 2.89 | 1.02 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIN | Taj Bradley | Starter | 6.0 | 3 | 5 | 1 | 6 | 26 | 107 |
| MIN | A.J. Minter | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 1 | 4 | 19 |
| MIN | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| MIN | Yoendrys Gómez | Closer | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| LAA | Walbert Ureña | Starter | 5.2 | 1 | 3 | 2 | 5 | 22 | 88 |
| LAA | Ben Joyce | Closer | 1.0 | 2 | 4 | 0 | 1 | 7 | 23 |
| LAA | Ryan Watson | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| LAA | Tayler Saucedo | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_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. |
20260917_OAK@TB
20260917_OAK@TB.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TB | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=5; 2B: current=2, sim=1; HR: current=1, sim=2; R: current=3, sim=4; BB: current=2, sim=3; SO: current=8, sim=10; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Jeff McNeil: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Henry Bolte: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Tommy White: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2; Alika Williams: AB current=3 box=4, 2B current=1 box=0; Zack Gelof: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jonah Heim: AB current=3 box=4, HR current=0 box=1, R current=0 box=1, SO current=1 box=0; Donovan Walton: AB current=3 box=2, H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Lawrence Butler: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=9, sim=10; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=5, sim=7; SF: current=0, sim=1; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Liam Hicks: AB current=3 box=2, H current=1 box=0, R current=0 box=1, BB current=0 box=1; Jonny DeLuca: RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Jonathan Aranda: AB current=4 box=5, HR current=0 box=1, BB current=1 box=0; Junior Caminero: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Yandy Díaz: RBI current=1 box=2, SO current=0 box=2; Ryan Vilade: AB current=3 box=4, H current=1 box=0; Chandler Simpson: H current=1 box=2, RBI current=0 box=1; Richie Palacios: AB current=3 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TB | BATTING_TOTALS_SUM | current:TB batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match TB pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match TB pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=35 matches TB BF=35. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match OAK pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match OAK pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match OAK pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match OAK pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=40 matches OAK BF=40. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 7. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.829 -> 0.688 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.829468, 'sample_size': 267, 'empirical_hit_rate': 0.5468, 'empirical_weight': 0.5, 'blended_confidence': 0.688134, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TB | CURRENT_LINEUP_SHAPE | TB current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TB | CURRENT_MODEL_ZERO_FALLBACK | TB current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TB | CURRENT_NAMES_PRESENT | TB current hitter names are populated. | |||
| PASS | current_payload | current | TB | CURRENT_PREDICTIONS_MATCH_FINALIZED | TB hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.566/0.762. | |||||
| 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: OAK 5, TB 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: OAK 4 - TB 7. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TB. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TB; cap=0.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'TB', 'opponent_team': 'OAK', 'h2h_net_margin': 6, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 4, 'opponent_runs': 3, 'margin_for_predicted_team': 1, 'winner': 'TB'}, {'date': '2026-09-15', 'predicted_team_runs': 2, 'opponent_runs': 1, 'margin_for_predicted_team': 1, 'winner': 'TB'}, {'date': '2026-08-12', 'predicted_team_runs': 8, 'opponent_runs': 4, 'margin_for_predicted_team': 4, 'winner': 'TB'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'OAK', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 1, 'raw_pick_probability': 0.76686, 'artifact': '20260916_OAK@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'OAK', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 1, 'raw_pick_probability': 0.667434, 'artifact': '20260915_OAK@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260812', 'away': 'TB', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'OAK', 'actual_winner': 'TB', 'actual_margin': 4, 'raw_pick_probability': 0.51, 'artifact': '20260812_TB@OAK.json', 'verification': 'pregame_official_final'}, {'date': '20260811', 'away': 'TB', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 8, 'raw_pick_probability': 0.6599999999999999, 'artifact': '20260811_TB@OAK.json', 'verification': 'pregame_official_final'}, {'date': '20260810', 'away': 'TB', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 4, 'raw_pick_probability': 0.6599999999999999, 'artifact': '20260810_TB@OAK.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'TB', 'final_score_winner': 'TB', 'pre_simulation_winner': 'TB', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0515, 'recent_form_edge_home_minus_away': 1.202, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 7, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.6832, 'winner': 'TB', 'score_reviewed': {'away_runs': 4, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_OAK@TB. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: OAK@TB. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 18.0, 'absolute_net_margin': 18.0, 'home_average_margin': 3.6, 'home_run_delta': 0.1038, 'away_run_delta': -0.1038, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': 8.0}, {'game_id': None, 'home_margin': 4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 7, 'away_runs': 4, 'probability': 0.015965896820559072}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015939036773710127}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.0158985595582449}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015871812795481454}, {'home_runs': 8, 'away_runs': 4, 'probability': 0.01478336156845054}], 'home_distribution': {'0': 0.021555582562640337, '1': 0.034609808873777494, '2': 0.05136736311088514, '3': 0.07047319777694726, '4': 0.08937361391490595, '5': 0.10477153224821623, '6': 0.11353399140270641, '7': 0.11372531590815295, '8': 0.1053021000606475, '9': 0.090129206590925, '10': 0.07130872943767944, '11': 0.05215170166247741, '12': 0.03525680095331874, '13': 0.022032610597305737, '14': 0.012727340079082885, '15': 0.006796072036066175, '16': 0.0033544933349567412, '17': 0.001530539449308195}, 'away_distribution': {'0': 0.04525607260385821, '1': 0.0713578749439451, '2': 0.10030135668869879, '3': 0.12568155926763325, '4': 0.1403899975398044, '5': 0.1397978931189334, '6': 0.12409804493749324, '7': 0.09820398391295403, '8': 0.06927764673866887, '9': 0.04356693431000042, '10': 0.024424221414108778, '11': 0.012206307581425522, '12': 0.00543810694247607}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 2.1308, 'recent_quality_edge': 0.852, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.6832} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0515, 'recent_form_edge_home_minus_away': 1.202, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 7, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.6832, 'winner': 'TB', 'score_reviewed': {'away_runs': 4, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_PITCHER_MATCH | OAK pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_TOTAL_MATCH | OAK pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_PITCHER_MATCH | TB pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_TOTAL_MATCH | TB pitch_count_summary total, row sum, and pitching total all match: 150. | |||
| 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 | OAK | PITCHING_REALISM | current:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | OAK | STARTER_PRESENT | current:OAK includes a starter/opener role. | |||
| PASS | pitching | current | TB | PITCHING_REALISM | current:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TB | STARTER_PRESENT | current:TB includes a starter/opener role. | |||
| PASS | pitching | simulation | OAK | PITCHING_REALISM | simulation:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | OAK | STARTER_PRESENT | simulation:OAK includes a starter/opener role. | |||
| PASS | pitching | simulation | TB | PITCHING_REALISM | simulation:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TB | STARTER_PRESENT | simulation:TB includes a starter/opener role. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: OAK 4 - 7 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: OAK 4 - 7 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 7-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TB, simulation=TB, published=TB. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.580. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TB wins 7-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB wins 4-7. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-7. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-7, final 4-7 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TB wins 7-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | OAK | RECENT_FORM_RANGE | OAK recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | OAK | TEAM_RECENT_RECORD | OAK wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TB | RECENT_FORM_RANGE | TB recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TB | TEAM_RECENT_RECORD | TB wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TB | BATTING_TOTALS_SUM | current:TB batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match TB pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match TB pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=35 matches TB BF=35. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match OAK pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match OAK pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match OAK pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match OAK pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=40 matches OAK BF=40. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 7. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.829 -> 0.688 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.829468, 'sample_size': 267, 'empirical_hit_rate': 0.5468, 'empirical_weight': 0.5, 'blended_confidence': 0.688134, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TB | CURRENT_LINEUP_SHAPE | TB current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TB | CURRENT_MODEL_ZERO_FALLBACK | TB current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TB | CURRENT_NAMES_PRESENT | TB current hitter names are populated. | |||
| PASS | current_payload | current | TB | CURRENT_PREDICTIONS_MATCH_FINALIZED | TB hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.566/0.762. | |||||
| 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: OAK 5, TB 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: OAK 4 - TB 7. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TB. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TB; cap=0.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'TB', 'opponent_team': 'OAK', 'h2h_net_margin': 6, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 4, 'opponent_runs': 3, 'margin_for_predicted_team': 1, 'winner': 'TB'}, {'date': '2026-09-15', 'predicted_team_runs': 2, 'opponent_runs': 1, 'margin_for_predicted_team': 1, 'winner': 'TB'}, {'date': '2026-08-12', 'predicted_team_runs': 8, 'opponent_runs': 4, 'margin_for_predicted_team': 4, 'winner': 'TB'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'OAK', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 1, 'raw_pick_probability': 0.76686, 'artifact': '20260916_OAK@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'OAK', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 1, 'raw_pick_probability': 0.667434, 'artifact': '20260915_OAK@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260812', 'away': 'TB', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'OAK', 'actual_winner': 'TB', 'actual_margin': 4, 'raw_pick_probability': 0.51, 'artifact': '20260812_TB@OAK.json', 'verification': 'pregame_official_final'}, {'date': '20260811', 'away': 'TB', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 8, 'raw_pick_probability': 0.6599999999999999, 'artifact': '20260811_TB@OAK.json', 'verification': 'pregame_official_final'}, {'date': '20260810', 'away': 'TB', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 4, 'raw_pick_probability': 0.6599999999999999, 'artifact': '20260810_TB@OAK.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'TB', 'final_score_winner': 'TB', 'pre_simulation_winner': 'TB', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0515, 'recent_form_edge_home_minus_away': 1.202, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 7, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.6832, 'winner': 'TB', 'score_reviewed': {'away_runs': 4, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_OAK@TB. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: OAK@TB. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 18.0, 'absolute_net_margin': 18.0, 'home_average_margin': 3.6, 'home_run_delta': 0.1038, 'away_run_delta': -0.1038, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': 8.0}, {'game_id': None, 'home_margin': 4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 7, 'away_runs': 4, 'probability': 0.015965896820559072}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015939036773710127}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.0158985595582449}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015871812795481454}, {'home_runs': 8, 'away_runs': 4, 'probability': 0.01478336156845054}], 'home_distribution': {'0': 0.021555582562640337, '1': 0.034609808873777494, '2': 0.05136736311088514, '3': 0.07047319777694726, '4': 0.08937361391490595, '5': 0.10477153224821623, '6': 0.11353399140270641, '7': 0.11372531590815295, '8': 0.1053021000606475, '9': 0.090129206590925, '10': 0.07130872943767944, '11': 0.05215170166247741, '12': 0.03525680095331874, '13': 0.022032610597305737, '14': 0.012727340079082885, '15': 0.006796072036066175, '16': 0.0033544933349567412, '17': 0.001530539449308195}, 'away_distribution': {'0': 0.04525607260385821, '1': 0.0713578749439451, '2': 0.10030135668869879, '3': 0.12568155926763325, '4': 0.1403899975398044, '5': 0.1397978931189334, '6': 0.12409804493749324, '7': 0.09820398391295403, '8': 0.06927764673866887, '9': 0.04356693431000042, '10': 0.024424221414108778, '11': 0.012206307581425522, '12': 0.00543810694247607}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 2.1308, 'recent_quality_edge': 0.852, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.6832} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0515, 'recent_form_edge_home_minus_away': 1.202, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 7, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.6832, 'winner': 'TB', 'score_reviewed': {'away_runs': 4, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_PITCHER_MATCH | OAK pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_TOTAL_MATCH | OAK pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_PITCHER_MATCH | TB pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_TOTAL_MATCH | TB pitch_count_summary total, row sum, and pitching total all match: 150. | |||
| 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 | OAK | PITCHING_REALISM | current:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | OAK | STARTER_PRESENT | current:OAK includes a starter/opener role. | |||
| PASS | pitching | current | TB | PITCHING_REALISM | current:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TB | STARTER_PRESENT | current:TB includes a starter/opener role. | |||
| PASS | pitching | simulation | OAK | PITCHING_REALISM | simulation:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | OAK | STARTER_PRESENT | simulation:OAK includes a starter/opener role. | |||
| PASS | pitching | simulation | TB | PITCHING_REALISM | simulation:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TB | STARTER_PRESENT | simulation:TB includes a starter/opener role. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: OAK 4 - 7 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: OAK 4 - 7 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 7-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TB, simulation=TB, published=TB. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.580. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TB wins 7-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB wins 4-7. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-7. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-7, final 4-7 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TB wins 7-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | OAK | RECENT_FORM_RANGE | OAK recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | OAK | TEAM_RECENT_RECORD | OAK wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TB | RECENT_FORM_RANGE | TB recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TB | TEAM_RECENT_RECORD | TB wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TB | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=5; 2B: current=2, sim=1; HR: current=1, sim=2; R: current=3, sim=4; BB: current=2, sim=3; SO: current=8, sim=10; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Jeff McNeil: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Henry Bolte: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Tommy White: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2; Alika Williams: AB current=3 box=4, 2B current=1 box=0; Zack Gelof: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jonah Heim: AB current=3 box=4, HR current=0 box=1, R current=0 box=1, SO current=1 box=0; Donovan Walton: AB current=3 box=2, H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Lawrence Butler: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=9, sim=10; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=5, sim=7; SF: current=0, sim=1; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Liam Hicks: AB current=3 box=2, H current=1 box=0, R current=0 box=1, BB current=0 box=1; Jonny DeLuca: RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Jonathan Aranda: AB current=4 box=5, HR current=0 box=1, BB current=1 box=0; Junior Caminero: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Yandy Díaz: RBI current=1 box=2, SO current=0 box=2; Ryan Vilade: AB current=3 box=4, H current=1 box=0; Chandler Simpson: H current=1 box=2, RBI current=0 box=1; Richie Palacios: AB current=3 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.021880554592869 | 5.686272153855294 | Base ML historical model prediction | |
| variance_applied | 4 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 7 | 0.580 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 7 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 7 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 7 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 7 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OAK | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 4 | 5 |
| TB | 0 | 4 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 7 | 10 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | batting | 32 | 8 | 2 | 0 | 1 | 4 | 3 | 2 | 8 | 0 | 0 | 0 | 0 | |||||
| current | OAK | pitching | 10 | 2 | 7 | 3 | 6 | 8.0 | 6 | 0 | 0 | |||||||||
| current | TB | batting | 32 | 9 | 1 | 0 | 1 | 4 | 5 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | TB | pitching | 5 | 2 | 4 | 3 | 10 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | OAK | batting | 31 | 5 | 1 | 0 | 2 | 4 | 4 | 3 | 10 | 1 | 0 | |||||||
| simulation | OAK | pitching | 10 | 2 | 7 | 3 | 6 | 8.2 | 7 | 40 | 157 | |||||||||
| simulation | TB | batting | 35 | 10 | 1 | 0 | 2 | 7 | 7 | 3 | 6 | 1 | 1 | |||||||
| simulation | TB | pitching | 5 | 2 | 4 | 3 | 10 | 9.0 | 4 | 35 | 150 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | DH | Jeff McNeil | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | OAK | LF | Henry Bolte | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | OAK | 1B | Tommy White | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | OAK | SS | Alika Williams | 0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | 3B | Zack Gelof | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | OAK | CF | Denzel Clarke | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | OAK | C | Jonah Heim | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | OAK | 2B | Donovan Walton | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | OAK | RF | Lawrence Butler | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | C | Liam Hicks | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| current | TB | CF | Jonny DeLuca | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TB | 1B | Jonathan Aranda | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | 3B | Junior Caminero | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | DH | Yandy Díaz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | TB | RF | Ryan Vilade | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | LF | Chandler Simpson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TB | 2B | Richie Palacios | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | SS | Taylor Walls | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | OAK | 1 | LF | Henry Bolte | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | OAK | 2 | DH | Jeff McNeil | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | OAK | 3 | RF | Lawrence Butler | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | OAK | 4 | 3B | Zack Gelof | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 |
| simulation | OAK | 5 | 2B | Donovan Walton | 4 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.000 |
| simulation | OAK | 6 | 1B | Tommy White | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | OAK | 7 | SS | Alika Williams | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | OAK | 8 | C | Jonah Heim | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | OAK | 9 | CF | Denzel Clarke | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TB | 1 | DH | Yandy Díaz | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 1 | 2 | 0 | 0.250 |
| simulation | TB | 2 | 1B | Jonathan Aranda | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.200 |
| simulation | TB | 3 | 3B | Junior Caminero | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.500 |
| simulation | TB | 4 | C | Liam Hicks | 5 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0.000 |
| simulation | TB | 5 | CF | Jonny DeLuca | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | TB | 6 | LF | Chandler Simpson | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | TB | 7 | RF | Ryan Vilade | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TB | 8 | 2B | Richie Palacios | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TB | 9 | SS | Taylor Walls | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | 1 | Jeffrey Springs | Starter | 4.2 | 6 | 5 | 4 | 3 | 6 | 1 | 0 | 0 | 7.71 | 5.93 | 1.45 |
| current | OAK | 2 | Seth Johnson | Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | ||
| current | OAK | 3 | Chris Roycroft | Reliever | 1.0 | 2 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 9.00 | ||
| current | OAK | 4 | Hogan Harris | Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | ||
| current | OAK | 5 | Luis Medina | Reliever | 0.1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 27.00 | ||
| current | TB | 1 | Drew Rasmussen | Starter | 6.0 | 3 | 2 | 2 | 1 | 8 | 1 | 0 | 0 | 3.00 | 2.81 | 0.92 |
| current | TB | 2 | Bryan Baker | Closer | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.37 | 0.84 |
| current | TB | 3 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 1 | 2 | 2 | 1 | 2 | 1 | 0 | 0 | 18.00 | 2.13 | 0.79 |
| current | TB | 4 | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 2.54 | 0.90 |
| simulation | OAK | 1 | Jeffrey Springs | Starter | 4.2 | 6 | 5 | 5 | 3 | 6 | 1 | 26 | 101 | 9.64 | 5.93 | 1.45 |
| simulation | OAK | 2 | Seth Johnson | Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 4.94 | 1.54 |
| simulation | OAK | 3 | Chris Roycroft | Reliever | 1.0 | 2 | 1 | 1 | 0 | 0 | 1 | 5 | 19 | 9.00 | 6.55 | 1.82 |
| simulation | OAK | 4 | Hogan Harris | Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.34 | 1.43 |
| simulation | OAK | 5 | Luis Medina | Reliever | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 2 | 7 | 9.00 | 3.03 | 1.32 |
| simulation | TB | 1 | Drew Rasmussen | Starter | 6.0 | 3 | 2 | 2 | 1 | 8 | 1 | 22 | 97 | 3.00 | 2.81 | 0.92 |
| simulation | TB | 2 | Bryan Baker | Closer | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 1.37 | 0.84 |
| simulation | TB | 3 | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 17 | 0.00 | 2.54 | 0.90 |
| simulation | TB | 4 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 1 | 2 | 2 | 1 | 2 | 1 | 5 | 20 | 18.00 | 2.13 | 0.79 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| OAK | Jeffrey Springs | Starter | 4.2 | 5 | 6 | 3 | 6 | 26 | 101 |
| OAK | Seth Johnson | Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 17 |
| OAK | Chris Roycroft | Reliever | 1.0 | 1 | 2 | 0 | 0 | 5 | 19 |
| OAK | Hogan Harris | Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| OAK | Luis Medina | Reliever | 1.0 | 1 | 1 | 0 | 0 | 2 | 7 |
| TB | Drew Rasmussen | Starter | 6.0 | 2 | 3 | 1 | 8 | 22 | 97 |
| TB | Bryan Baker | Closer | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| TB | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 2 | 5 | 20 |
| TB | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 1 | 0 | 4 | 17 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_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. |
20260917_PHI@NYM
20260917_PHI@NYM.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYM | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | PHI | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; 2B: current=1, sim=4; SO: current=9, sim=3). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Carson Benge: H current=1 box=0, R current=1 box=0, SO current=1 box=0; A.J. Ewing: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, R current=0 box=1; Francisco Lindor: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Brett Baty: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1; Nick Morabito: AB current=3 box=2, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Francisco Alvarez: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Jared Young: H current=1 box=2, 2B current=0 box=2, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (H: current=7, sim=8; BB: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, 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 | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Alec Bohm: H current=1 box=2, R current=0 box=1; Bryson Stott: 3B current=0 box=1, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=2; Luis Arraez: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=0 box=1; Justin Crawford: BB current=0 box=1; Brandon Marsh: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Trea Turner: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Kyle Schwarber: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYM | BATTING_TOTALS_SUM | current:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match PHI pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=35 matches PHI BF=35. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match NYM pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match NYM pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match NYM pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=36 matches NYM BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.586 -> 0.569 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5864, 'sample_size': 620, 'empirical_hit_rate': 0.5516, 'empirical_weight': 0.5, 'blended_confidence': 0.569, 'published_confidence': 0.544183, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYM | CURRENT_LINEUP_SHAPE | NYM current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYM | CURRENT_MODEL_ZERO_FALLBACK | NYM current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYM | CURRENT_NAMES_PRESENT | NYM current hitter names are populated. | |||
| PASS | current_payload | current | NYM | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYM hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | PHI | CURRENT_LINEUP_SHAPE | PHI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PHI | CURRENT_MODEL_ZERO_FALLBACK | PHI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PHI | CURRENT_NAMES_PRESENT | PHI current hitter names are populated. | |||
| PASS | current_payload | current | PHI | CURRENT_PREDICTIONS_MATCH_FINALIZED | PHI hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.456. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.544. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.544. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.691/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: PHI 4, NYM 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PHI 3 - NYM 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYM. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYM; cap=0.58, reasons=predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile'], 'signals': {'predicted_team': 'NYM', 'opponent_team': 'PHI', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-07-19', 'predicted_team_runs': 6, 'opponent_runs': 1, 'margin_for_predicted_team': 5, 'winner': 'NYM'}, {'date': '2026-07-18', 'predicted_team_runs': 1, 'opponent_runs': 6, 'margin_for_predicted_team': -5, 'winner': 'PHI'}, {'date': '2026-07-16', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'NYM'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260718', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 5, 'raw_pick_probability': 0.64, 'artifact': '20260718_NYM@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260716', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.51, 'artifact': '20260716_NYM@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'NYM', 'actual_margin': 4, 'raw_pick_probability': 0.51, 'artifact': '20260627_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260626', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260626_PHI@NYM.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYM', 'guardrail_opponent_team': 'PHI', 'output_pre_simulation_winner': 'NYM', 'output_opponent_team': 'PHI', 'simulation_score_winner': 'NYM', 'final_score_winner': 'NYM', 'pre_simulation_winner': 'NYM', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0675, 'recent_form_edge_home_minus_away': 0.358, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 3, 'home_runs': 4, 'winner': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PHI', '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': 3, 'home_runs': 4}, 'simulation_score': {'away_runs': 3, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3119, 'winner': 'NYM', 'score_reviewed': {'away_runs': 3, '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-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_PHI@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PHI@NYM. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 6.0, 'absolute_net_margin': 6.0, 'home_average_margin': 1.2, 'home_run_delta': 0.0346, 'away_run_delta': -0.0346, 'evidence': [{'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': 4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 3, 'probability': 0.023456122301995647}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.023332880160078246}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.02280091418806993}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.022681114612247734}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.02139605538043559}], 'home_distribution': {'0': 0.04881714962638893, '1': 0.07676695353152176, '2': 0.1070408953152438, '3': 0.13234230621420703, '4': 0.14508456185466284, '5': 0.14103186376123394, '6': 0.12155891821930526, '7': 0.09290304452092953, '8': 0.06295737400584432, '9': 0.0378300401462881, '10': 0.02015582309510191, '11': 0.009522211256483806, '12': 0.0039888584527887575}, 'away_distribution': {'0': 0.06757393525595073, '1': 0.10479752995779071, '2': 0.14016394563080042, '3': 0.1616720759407373, '4': 0.160822625521327, '5': 0.1379662034684647, '6': 0.10207319571168098, '7': 0.06512746029338629, '8': 0.03583686463714272, '9': 0.01700627910513016, '10': 0.006959884477589046}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.6349, 'recent_quality_edge': 0.288, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.3119} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0675, 'recent_form_edge_home_minus_away': 0.358, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 3, 'home_runs': 4, 'winner': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PHI', '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': 3, 'home_runs': 4}, 'simulation_score': {'away_runs': 3, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3119, 'winner': 'NYM', 'score_reviewed': {'away_runs': 3, '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: 155. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 159. | |||||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_PITCHER_MATCH | NYM pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_TOTAL_MATCH | NYM pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_PITCHER_MATCH | PHI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_TOTAL_MATCH | PHI pitch_count_summary total, row sum, and pitching total all match: 155. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 7 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | NYM | PITCHING_REALISM | current:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYM | STARTER_PRESENT | current:NYM includes a starter/opener role. | |||
| PASS | pitching | current | PHI | PITCHING_REALISM | current:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PHI | STARTER_PRESENT | current:PHI includes a starter/opener role. | |||
| PASS | pitching | simulation | NYM | PITCHING_REALISM | simulation:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYM | STARTER_PRESENT | simulation:NYM includes a starter/opener role. | |||
| PASS | pitching | simulation | PHI | PITCHING_REALISM | simulation:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PHI | STARTER_PRESENT | simulation:PHI includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: PHI 3 - 4 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PHI 3 - 4 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=NYM, simulation=NYM, published=NYM. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.544. | |||||
| 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): NYM wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM wins 3-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-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 3-4, final 3-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYM wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | PHI | RECENT_FORM_RANGE | PHI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PHI | TEAM_RECENT_RECORD | PHI wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYM | BATTING_TOTALS_SUM | current:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match PHI pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=35 matches PHI BF=35. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match NYM pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match NYM pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match NYM pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=36 matches NYM BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.586 -> 0.569 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5864, 'sample_size': 620, 'empirical_hit_rate': 0.5516, 'empirical_weight': 0.5, 'blended_confidence': 0.569, 'published_confidence': 0.544183, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYM | CURRENT_LINEUP_SHAPE | NYM current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYM | CURRENT_MODEL_ZERO_FALLBACK | NYM current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYM | CURRENT_NAMES_PRESENT | NYM current hitter names are populated. | |||
| PASS | current_payload | current | NYM | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYM hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | PHI | CURRENT_LINEUP_SHAPE | PHI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PHI | CURRENT_MODEL_ZERO_FALLBACK | PHI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PHI | CURRENT_NAMES_PRESENT | PHI current hitter names are populated. | |||
| PASS | current_payload | current | PHI | CURRENT_PREDICTIONS_MATCH_FINALIZED | PHI hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.456. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.544. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.544. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.691/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: PHI 4, NYM 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PHI 3 - NYM 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYM. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYM; cap=0.58, reasons=predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile'], 'signals': {'predicted_team': 'NYM', 'opponent_team': 'PHI', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-07-19', 'predicted_team_runs': 6, 'opponent_runs': 1, 'margin_for_predicted_team': 5, 'winner': 'NYM'}, {'date': '2026-07-18', 'predicted_team_runs': 1, 'opponent_runs': 6, 'margin_for_predicted_team': -5, 'winner': 'PHI'}, {'date': '2026-07-16', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'NYM'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260718', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 5, 'raw_pick_probability': 0.64, 'artifact': '20260718_NYM@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260716', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.51, 'artifact': '20260716_NYM@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'NYM', 'actual_margin': 4, 'raw_pick_probability': 0.51, 'artifact': '20260627_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260626', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260626_PHI@NYM.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYM', 'guardrail_opponent_team': 'PHI', 'output_pre_simulation_winner': 'NYM', 'output_opponent_team': 'PHI', 'simulation_score_winner': 'NYM', 'final_score_winner': 'NYM', 'pre_simulation_winner': 'NYM', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0675, 'recent_form_edge_home_minus_away': 0.358, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 3, 'home_runs': 4, 'winner': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PHI', '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': 3, 'home_runs': 4}, 'simulation_score': {'away_runs': 3, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3119, 'winner': 'NYM', 'score_reviewed': {'away_runs': 3, '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-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_PHI@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PHI@NYM. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 6.0, 'absolute_net_margin': 6.0, 'home_average_margin': 1.2, 'home_run_delta': 0.0346, 'away_run_delta': -0.0346, 'evidence': [{'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': 4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 3, 'probability': 0.023456122301995647}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.023332880160078246}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.02280091418806993}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.022681114612247734}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.02139605538043559}], 'home_distribution': {'0': 0.04881714962638893, '1': 0.07676695353152176, '2': 0.1070408953152438, '3': 0.13234230621420703, '4': 0.14508456185466284, '5': 0.14103186376123394, '6': 0.12155891821930526, '7': 0.09290304452092953, '8': 0.06295737400584432, '9': 0.0378300401462881, '10': 0.02015582309510191, '11': 0.009522211256483806, '12': 0.0039888584527887575}, 'away_distribution': {'0': 0.06757393525595073, '1': 0.10479752995779071, '2': 0.14016394563080042, '3': 0.1616720759407373, '4': 0.160822625521327, '5': 0.1379662034684647, '6': 0.10207319571168098, '7': 0.06512746029338629, '8': 0.03583686463714272, '9': 0.01700627910513016, '10': 0.006959884477589046}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, '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.6349, 'recent_quality_edge': 0.288, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.3119} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 3, 'home_runs': 4, 'score_text': 'PHI 3 - 4 NYM', 'winner': 'NYM'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0675, 'recent_form_edge_home_minus_away': 0.358, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 3, 'home_runs': 4, 'winner': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'PHI', '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': 3, 'home_runs': 4}, 'simulation_score': {'away_runs': 3, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3119, 'winner': 'NYM', 'score_reviewed': {'away_runs': 3, '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: 155. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 159. | |||||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_PITCHER_MATCH | NYM pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_TOTAL_MATCH | NYM pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_PITCHER_MATCH | PHI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_TOTAL_MATCH | PHI pitch_count_summary total, row sum, and pitching total all match: 155. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 7 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | NYM | PITCHING_REALISM | current:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYM | STARTER_PRESENT | current:NYM includes a starter/opener role. | |||
| PASS | pitching | current | PHI | PITCHING_REALISM | current:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PHI | STARTER_PRESENT | current:PHI includes a starter/opener role. | |||
| PASS | pitching | simulation | NYM | PITCHING_REALISM | simulation:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYM | STARTER_PRESENT | simulation:NYM includes a starter/opener role. | |||
| PASS | pitching | simulation | PHI | PITCHING_REALISM | simulation:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PHI | STARTER_PRESENT | simulation:PHI includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: PHI 3 - 4 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PHI 3 - 4 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=NYM, simulation=NYM, published=NYM. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.544. | |||||
| 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): NYM wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM wins 3-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-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 3-4, final 3-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYM wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | PHI | RECENT_FORM_RANGE | PHI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PHI | TEAM_RECENT_RECORD | PHI wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYM | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | PHI | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; 2B: current=1, sim=4; SO: current=9, sim=3). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Carson Benge: H current=1 box=0, R current=1 box=0, SO current=1 box=0; A.J. Ewing: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, R current=0 box=1; Francisco Lindor: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Brett Baty: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1; Nick Morabito: AB current=3 box=2, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Francisco Alvarez: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Jared Young: H current=1 box=2, 2B current=0 box=2, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (H: current=7, sim=8; BB: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, 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 | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Alec Bohm: H current=1 box=2, R current=0 box=1; Bryson Stott: 3B current=0 box=1, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=2; Luis Arraez: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=0 box=1; Justin Crawford: BB current=0 box=1; Brandon Marsh: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Trea Turner: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Kyle Schwarber: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI 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.273186805008134 | 4.71946397588761 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 3 | 4 | 0.544 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 3 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 3 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 3 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 4 |
| NYM | 0 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 8 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | PHI | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | PHI | pitching | 7 | 1 | 4 | 2 | 3 | 8.0 | 4 | 0 | 0 | |||||||||
| current | NYM | batting | 34 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | NYM | pitching | 4 | 0 | 3 | 5 | 9 | 9.0 | 3 | 0 | 0 | |||||||||
| simulation | PHI | batting | 31 | 4 | 1 | 1 | 0 | 3 | 3 | 5 | 9 | 0 | 0 | |||||||
| simulation | PHI | pitching | 8 | 1 | 4 | 3 | 3 | 8.0 | 4 | 35 | 155 | |||||||||
| simulation | NYM | batting | 32 | 8 | 4 | 0 | 1 | 4 | 4 | 3 | 3 | 0 | 0 | |||||||
| simulation | NYM | pitching | 4 | 0 | 3 | 5 | 9 | 9.0 | 3 | 36 | 159 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | PHI | RF | Bryce Harper | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | 1B | Alec Bohm | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PHI | 3B | Bryson Stott | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | 2B | Luis Arraez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | PHI | CF | Justin Crawford | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | PHI | LF | Brandon Marsh | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PHI | SS | Trea Turner | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PHI | DH | Kyle Schwarber | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | C | Garrett Stubbs | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYM | DH | Juan Soto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | RF | Carson Benge | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | CF | A.J. Ewing | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | NYM | SS | Francisco Lindor | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | 2B | Brett Baty | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYM | LF | Nick Morabito | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | C | Francisco Alvarez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | 1B | Jared Young | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYM | 3B | Bo Bichette | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| simulation | PHI | 1 | DH | Kyle Schwarber | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | PHI | 2 | SS | Trea Turner | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.000 |
| simulation | PHI | 3 | RF | Bryce Harper | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | PHI | 4 | 2B | Luis Arraez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | PHI | 5 | 1B | Alec Bohm | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | PHI | 6 | 3B | Bryson Stott | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | PHI | 7 | LF | Brandon Marsh | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PHI | 8 | CF | Justin Crawford | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | PHI | 9 | C | Garrett Stubbs | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | NYM | 1 | SS | Francisco Lindor | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYM | 2 | DH | Juan Soto | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | NYM | 3 | 3B | Bo Bichette | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | NYM | 4 | RF | Carson Benge | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | NYM | 5 | 1B | Jared Young | 4 | 4 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | NYM | 6 | CF | A.J. Ewing | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | NYM | 7 | C | Francisco Alvarez | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | NYM | 8 | 2B | Brett Baty | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | NYM | 9 | LF | Nick Morabito | 3 | 2 | 1 | 1 | 0 | 0 | 1 | 1 | 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 | PHI | 1 | Aaron Nola | Starter | 6.0 | 6 | 4 | 4 | 1 | 3 | 1 | 0 | 0 | 6.00 | 4.69 | 1.37 |
| current | PHI | 2 | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.46 | 0.96 |
| current | PHI | 3 | Jonathan Bowlan | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.40 | 1.02 |
| current | NYM | 1 | Nolan McLean | Starter | 6.0 | 4 | 2 | 2 | 3 | 6 | 0 | 0 | 0 | 3.00 | 3.24 | 1.18 |
| current | NYM | 2 | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 4.50 | 1.27 |
| current | NYM | 3 | Kodai Senga | Closer | 1.0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 9.00 | 7.05 | 1.60 |
| current | NYM | 4 | Nathan Lavender | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.59 | 0.88 |
| simulation | PHI | 1 | Aaron Nola | Starter | 6.0 | 6 | 4 | 4 | 1 | 3 | 1 | 25 | 110 | 6.00 | 4.69 | 1.37 |
| simulation | PHI | 2 | Jhoan Duran | Closer | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 21 | 0.00 | 1.46 | 0.96 |
| simulation | PHI | 3 | Jonathan Bowlan | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 2 | 0 | 0 | 6 | 24 | 0.00 | 3.40 | 1.02 |
| simulation | NYM | 1 | Nolan McLean | Starter | 6.0 | 4 | 2 | 2 | 3 | 6 | 0 | 25 | 112 | 3.00 | 3.24 | 1.18 |
| simulation | NYM | 2 | Kodai Senga | Closer | 1.0 | 0 | 1 | 1 | 1 | 1 | 0 | 4 | 17 | 9.00 | 7.05 | 1.60 |
| simulation | NYM | 3 | Nathan Lavender | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.59 | 0.88 |
| simulation | NYM | 4 | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 17 | 0.00 | 4.50 | 1.27 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| PHI | Aaron Nola | Starter | 6.0 | 4 | 6 | 1 | 3 | 25 | 110 |
| PHI | Jhoan Duran | Closer | 1.0 | 0 | 1 | 0 | 0 | 4 | 21 |
| PHI | Jonathan Bowlan | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 2 | 0 | 6 | 24 |
| NYM | Nolan McLean | Starter | 6.0 | 2 | 4 | 3 | 6 | 25 | 112 |
| NYM | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 2 | 4 | 17 |
| NYM | Kodai Senga | Closer | 1.0 | 1 | 0 | 1 | 1 | 4 | 17 |
| NYM | Nathan Lavender | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260917_SD@COL
20260917_SD@COL.json • 2026-09-17
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | COL | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SD | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (H: current=8, sim=11; ER: current=7, sim=8; HR: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; 2B: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, 2B current=1 box=0; Cole Carrigg: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Connor Norby: R current=0 box=1, BB current=1 box=0; Troy Johnston: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=0; Kyle Karros: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; TJ Rumfield: 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Mickey Moniak: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Zac Veen: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=10, sim=11; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=5, sim=8; R: current=5, sim=8; BB: current=2, sim=3; SO: current=7, sim=12). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Dustin Harris: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Jackson Merrill: H current=1 box=2, HR current=0 box=2, RBI current=1 box=5, BB current=0 box=1; Xander Bogaerts: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Fernando Tatis Jr.: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Manny Machado: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Ty France: H current=1 box=2, 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Luis Campusano: R current=0 box=1, BB current=0 box=1; Jake Cronenworth: R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SD | BATTING_TOTALS_SUM | current:SD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SD | BATTING_TOTALS_SUM | simulation:SD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match SD pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match SD pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=37 matches SD BF=37. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match COL pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match COL pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=41 matches COL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 8. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.889 -> 0.737 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.889379, 'sample_size': 130, 'empirical_hit_rate': 0.5846, 'empirical_weight': 0.5, 'blended_confidence': 0.73699, 'published_confidence': 0.54, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | COL | CURRENT_LINEUP_SHAPE | COL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | COL | CURRENT_MODEL_ZERO_FALLBACK | COL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | COL | CURRENT_NAMES_PRESENT | COL current hitter names are populated. | |||
| PASS | current_payload | current | COL | CURRENT_PREDICTIONS_MATCH_FINALIZED | COL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SD | CURRENT_LINEUP_SHAPE | SD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SD | CURRENT_MODEL_ZERO_FALLBACK | SD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SD | CURRENT_NAMES_PRESENT | SD current hitter names are populated. | |||
| PASS | current_payload | current | SD | CURRENT_PREDICTIONS_MATCH_FINALIZED | SD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.460. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 13 is reasonably close to low-score expected_total_runs 13.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.532/0.722. | |||||
| 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: SD 11, COL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SD 8 - COL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SD; cap=0.54, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile; local prediction memory shows 5 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'local prediction memory shows 5 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'SD', 'opponent_team': 'COL', 'h2h_net_margin': 1, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 9, 'opponent_runs': 3, 'margin_for_predicted_team': 6, 'winner': 'SD'}, {'date': '2026-09-15', 'predicted_team_runs': 3, 'opponent_runs': 9, 'margin_for_predicted_team': -6, 'winner': 'COL'}, {'date': '2026-09-14', 'predicted_team_runs': 8, 'opponent_runs': 7, 'margin_for_predicted_team': 1, 'winner': 'SD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260916', 'away': 'SD', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 6, 'raw_pick_probability': 0.53, 'artifact': '20260916_SD@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'SD', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'COL', 'actual_margin': 6, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260915_SD@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260914', 'away': 'SD', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 1, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260914_SD@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260729', 'away': 'COL', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260729_COL@SD.json', 'verification': 'pregame_official_final'}, {'date': '20260728', 'away': 'COL', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 1, 'raw_pick_probability': 0.57, 'artifact': '20260728_COL@SD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SD', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'SD', 'output_opponent_team': 'COL', 'simulation_score_winner': 'SD', 'final_score_winner': 'SD', 'pre_simulation_winner': 'SD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0643, 'recent_form_edge_home_minus_away': -1.654, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 5, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 5}, 'simulation_score': {'away_runs': 8, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.5039, 'winner': 'SD', 'score_reviewed': {'away_runs': 8, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_SD@COL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SD@COL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -4.0, 'absolute_net_margin': 4.0, 'home_average_margin': -0.8, 'home_run_delta': -0.0231, 'away_run_delta': 0.0231, 'evidence': [{'game_id': None, 'home_margin': -6.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 8, 'probability': 0.014350216883424013}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014325008624382565}, {'home_runs': 4, 'away_runs': 8, 'probability': 0.01395243244286683}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.013927922950492232}, {'home_runs': 5, 'away_runs': 9, 'probability': 0.013428530754799613}], 'home_distribution': {'0': 0.040322266032198316, '1': 0.063807309020606, '2': 0.0906602030487802, '3': 0.1156601376907551, '4': 0.13248645573242895, '5': 0.13626365020305128, '6': 0.12583727773535838, '7': 0.10434205119092464, '8': 0.07768375052530395, '9': 0.051930410934724634, '10': 0.03116980555854867, '11': 0.01679837168737006, '12': 0.008128698942657041, '13': 0.0035317963337931314, '14': 0.0013778153634996543}, 'away_distribution': {'0': 0.015408159253914328, '1': 0.024869617610889502, '2': 0.037496775052933445, '3': 0.05281109685433825, '4': 0.0694804973198344, '5': 0.08539001887606773, '6': 0.0980297198029832, '7': 0.10512714581648416, '8': 0.10531214202790141, '9': 0.09854815084425879, '10': 0.08614398800272383, '11': 0.0703409011253293, '12': 0.05365341163971372, '13': 0.03822902464738481, '14': 0.025444595646837216, '15': 0.015819922442063986, '16': 0.00918797081209548, '17': 0.00498472638120422, '18': 0.0025262103035179053, '19': 0.001195925539524479}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.5362, 'recent_quality_edge': -1.444, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.5039} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0643, 'recent_form_edge_home_minus_away': -1.654, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 5, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 5}, 'simulation_score': {'away_runs': 8, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.5039, 'winner': 'SD', 'score_reviewed': {'away_runs': 8, '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: 159. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 182. | |||||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_PITCHER_MATCH | COL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_TOTAL_MATCH | COL pitch_count_summary total, row sum, and pitching total all match: 182. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_PITCHER_MATCH | SD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_TOTAL_MATCH | SD pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| 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 | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | current | SD | PITCHING_REALISM | current:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SD | STARTER_PRESENT | current:SD includes a starter/opener role. | |||
| PASS | pitching | simulation | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | SD | PITCHING_REALISM | simulation:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SD | STARTER_PRESENT | simulation:SD includes a starter/opener role. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SD 8 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SD 8 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SD wins 8-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SD, simulation=SD, published=SD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.540. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 9/10 (0.900). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 1/10 (0.100). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): SD wins 8-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SD wins 8-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 8-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 8-5, final 8-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 13. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SD wins 8-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | COL | RECENT_FORM_RANGE | COL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | COL | TEAM_RECENT_RECORD | COL wins and win_pct agree: 1/10 = 0.100. | |||
| PASS | team_recent_performance | current | SD | RECENT_FORM_RANGE | SD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SD | TEAM_RECENT_RECORD | SD wins and win_pct agree: 9/10 = 0.900. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SD | BATTING_TOTALS_SUM | current:SD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SD | BATTING_TOTALS_SUM | simulation:SD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match SD pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match SD pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=37 matches SD BF=37. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match COL pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match COL pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=41 matches COL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 8. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.889 -> 0.737 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.889379, 'sample_size': 130, 'empirical_hit_rate': 0.5846, 'empirical_weight': 0.5, 'blended_confidence': 0.73699, 'published_confidence': 0.54, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | COL | CURRENT_LINEUP_SHAPE | COL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | COL | CURRENT_MODEL_ZERO_FALLBACK | COL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | COL | CURRENT_NAMES_PRESENT | COL current hitter names are populated. | |||
| PASS | current_payload | current | COL | CURRENT_PREDICTIONS_MATCH_FINALIZED | COL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SD | CURRENT_LINEUP_SHAPE | SD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SD | CURRENT_MODEL_ZERO_FALLBACK | SD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SD | CURRENT_NAMES_PRESENT | SD current hitter names are populated. | |||
| PASS | current_payload | current | SD | CURRENT_PREDICTIONS_MATCH_FINALIZED | SD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.460. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 13 is reasonably close to low-score expected_total_runs 13.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.532/0.722. | |||||
| 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: SD 11, COL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SD 8 - COL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SD; cap=0.54, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile; local prediction memory shows 5 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'local prediction memory shows 5 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'SD', 'opponent_team': 'COL', 'h2h_net_margin': 1, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 9, 'opponent_runs': 3, 'margin_for_predicted_team': 6, 'winner': 'SD'}, {'date': '2026-09-15', 'predicted_team_runs': 3, 'opponent_runs': 9, 'margin_for_predicted_team': -6, 'winner': 'COL'}, {'date': '2026-09-14', 'predicted_team_runs': 8, 'opponent_runs': 7, 'margin_for_predicted_team': 1, 'winner': 'SD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260916', 'away': 'SD', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 6, 'raw_pick_probability': 0.53, 'artifact': '20260916_SD@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'SD', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'COL', 'actual_margin': 6, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260915_SD@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260914', 'away': 'SD', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 1, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260914_SD@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260729', 'away': 'COL', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260729_COL@SD.json', 'verification': 'pregame_official_final'}, {'date': '20260728', 'away': 'COL', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 1, 'raw_pick_probability': 0.57, 'artifact': '20260728_COL@SD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SD', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'SD', 'output_opponent_team': 'COL', 'simulation_score_winner': 'SD', 'final_score_winner': 'SD', 'pre_simulation_winner': 'SD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0643, 'recent_form_edge_home_minus_away': -1.654, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 5, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 5}, 'simulation_score': {'away_runs': 8, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.5039, 'winner': 'SD', 'score_reviewed': {'away_runs': 8, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-17. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260917_SD@COL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SD@COL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -4.0, 'absolute_net_margin': 4.0, 'home_average_margin': -0.8, 'home_run_delta': -0.0231, 'away_run_delta': 0.0231, 'evidence': [{'game_id': None, 'home_margin': -6.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 8, 'probability': 0.014350216883424013}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014325008624382565}, {'home_runs': 4, 'away_runs': 8, 'probability': 0.01395243244286683}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.013927922950492232}, {'home_runs': 5, 'away_runs': 9, 'probability': 0.013428530754799613}], 'home_distribution': {'0': 0.040322266032198316, '1': 0.063807309020606, '2': 0.0906602030487802, '3': 0.1156601376907551, '4': 0.13248645573242895, '5': 0.13626365020305128, '6': 0.12583727773535838, '7': 0.10434205119092464, '8': 0.07768375052530395, '9': 0.051930410934724634, '10': 0.03116980555854867, '11': 0.01679837168737006, '12': 0.008128698942657041, '13': 0.0035317963337931314, '14': 0.0013778153634996543}, 'away_distribution': {'0': 0.015408159253914328, '1': 0.024869617610889502, '2': 0.037496775052933445, '3': 0.05281109685433825, '4': 0.0694804973198344, '5': 0.08539001887606773, '6': 0.0980297198029832, '7': 0.10512714581648416, '8': 0.10531214202790141, '9': 0.09854815084425879, '10': 0.08614398800272383, '11': 0.0703409011253293, '12': 0.05365341163971372, '13': 0.03822902464738481, '14': 0.025444595646837216, '15': 0.015819922442063986, '16': 0.00918797081209548, '17': 0.00498472638120422, '18': 0.0025262103035179053, '19': 0.001195925539524479}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.95, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.5362, 'recent_quality_edge': -1.444, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.5039} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 5, 'score_text': 'SD 8 - 5 COL', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0643, 'recent_form_edge_home_minus_away': -1.654, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 5, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 5}, 'simulation_score': {'away_runs': 8, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.5039, 'winner': 'SD', 'score_reviewed': {'away_runs': 8, '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: 159. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 182. | |||||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_PITCHER_MATCH | COL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_TOTAL_MATCH | COL pitch_count_summary total, row sum, and pitching total all match: 182. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_PITCHER_MATCH | SD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_TOTAL_MATCH | SD pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| 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 | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | current | SD | PITCHING_REALISM | current:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SD | STARTER_PRESENT | current:SD includes a starter/opener role. | |||
| PASS | pitching | simulation | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | SD | PITCHING_REALISM | simulation:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SD | STARTER_PRESENT | simulation:SD includes a starter/opener role. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SD 8 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SD 8 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SD wins 8-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SD, simulation=SD, published=SD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.540. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 9/10 (0.900). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 1/10 (0.100). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): SD wins 8-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SD wins 8-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 8-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 8-5, final 8-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 13. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SD wins 8-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | COL | RECENT_FORM_RANGE | COL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | COL | TEAM_RECENT_RECORD | COL wins and win_pct agree: 1/10 = 0.100. | |||
| PASS | team_recent_performance | current | SD | RECENT_FORM_RANGE | SD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SD | TEAM_RECENT_RECORD | SD wins and win_pct agree: 9/10 = 0.900. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | COL | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SD | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (H: current=8, sim=11; ER: current=7, sim=8; HR: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; 2B: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, 2B current=1 box=0; Cole Carrigg: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Connor Norby: R current=0 box=1, BB current=1 box=0; Troy Johnston: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=0; Kyle Karros: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; TJ Rumfield: 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Mickey Moniak: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Zac Veen: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=10, sim=11; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=5, sim=8; R: current=5, sim=8; BB: current=2, sim=3; SO: current=7, sim=12). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Dustin Harris: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Jackson Merrill: H current=1 box=2, HR current=0 box=2, RBI current=1 box=5, BB current=0 box=1; Xander Bogaerts: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Fernando Tatis Jr.: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Manny Machado: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Ty France: H current=1 box=2, 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Luis Campusano: R current=0 box=1, BB current=0 box=1; Jake Cronenworth: R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.5295340651482405 | 3.8808032369315995 | Base ML historical model prediction | |
| variance_applied | 6 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 8 | 5 | 0.540 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 8 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 8 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 8 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | 4 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 2 | 8 | 11 |
| COL | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 2 | 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 | SD | batting | 33 | 10 | 2 | 0 | 1 | 5 | 5 | 2 | 7 | 0 | 0 | 0 | 0 | |||||
| current | SD | pitching | 9 | 1 | 5 | 1 | 7 | 9.0 | 5 | 0 | 0 | |||||||||
| current | COL | batting | 33 | 9 | 2 | 0 | 1 | 5 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | COL | pitching | 8 | 2 | 8 | 3 | 12 | 9.0 | 7 | 0 | 0 | |||||||||
| simulation | SD | batting | 38 | 11 | 1 | 0 | 3 | 8 | 8 | 3 | 12 | 0 | 0 | |||||||
| simulation | SD | pitching | 9 | 1 | 5 | 1 | 7 | 9.0 | 5 | 37 | 159 | |||||||||
| simulation | COL | batting | 36 | 9 | 3 | 0 | 1 | 5 | 5 | 1 | 7 | 0 | 0 | |||||||
| simulation | COL | pitching | 11 | 3 | 8 | 3 | 12 | 9.0 | 8 | 41 | 182 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SD | CF | Dustin Harris | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | SD | DH | Jackson Merrill | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | SS | Xander Bogaerts | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 | |
| current | SD | RF | Fernando Tatis Jr. | 0 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 | |
| current | SD | 3B | Manny Machado | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SD | 1B | Ty France | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | C | Luis Campusano | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SD | 2B | Jake Cronenworth | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | LF | Samad Taylor | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | COL | CF | Jake McCarthy | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | SS | Cole Carrigg | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | 2B | Connor Norby | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | COL | DH | Troy Johnston | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | COL | 3B | Kyle Karros | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | COL | 1B | TJ Rumfield | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0.250 | |
| current | COL | LF | Mickey Moniak | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | RF | Zac Veen | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | COL | C | Brett Sullivan | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| simulation | SD | 1 | RF | Fernando Tatis Jr. | 5 | 5 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 3 | 0 | 0.400 |
| simulation | SD | 2 | CF | Dustin Harris | 5 | 5 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0.200 |
| simulation | SD | 3 | 3B | Manny Machado | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | SD | 4 | 1B | Ty France | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.500 |
| simulation | SD | 5 | DH | Jackson Merrill | 5 | 4 | 2 | 0 | 0 | 2 | 1 | 5 | 1 | 0 | 0 | 0.500 |
| simulation | SD | 6 | SS | Xander Bogaerts | 4 | 4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SD | 7 | C | Luis Campusano | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | SD | 8 | 2B | Jake Cronenworth | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | SD | 9 | LF | Samad Taylor | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | COL | 1 | CF | Jake McCarthy | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 |
| simulation | COL | 2 | 2B | Connor Norby | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | COL | 3 | SS | Cole Carrigg | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | COL | 4 | 1B | TJ Rumfield | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | COL | 5 | 3B | Kyle Karros | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | COL | 6 | LF | Mickey Moniak | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | COL | 7 | DH | Troy Johnston | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | COL | 8 | C | Brett Sullivan | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | COL | 9 | RF | Zac Veen | 4 | 4 | 2 | 1 | 0 | 1 | 1 | 4 | 0 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SD | 1 | Michael King | Starter | 6.1 | 6 | 3 | 3 | 1 | 6 | 0 | 0 | 0 | 4.26 | 3.03 | 1.15 |
| current | SD | 2 | Adrian Morejon | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.87 | 1.07 |
| current | SD | 3 | Mason Miller | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.12 | 0.85 |
| current | SD | 4 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 0.2 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 27.00 | 1.85 | 0.99 |
| current | COL | 1 | Tanner Gordon | Starter | 5.0 | 5 | 7 | 6 | 1 | 5 | 2 | 0 | 0 | 10.80 | 5.55 | 1.48 |
| current | COL | 2 | Brennan Bernardino | Setup Man | 1.0 | 1 | 1 | 1 | 2 | 2 | 0 | 0 | 0 | 9.00 | 2.43 | 1.11 |
| current | COL | 3 | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 4.54 | 1.49 |
| current | COL | 4 | Jimmy Herget | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 5.76 | 1.48 |
| current | COL | 5 | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 4.25 | 1.25 |
| simulation | SD | 1 | Michael King | Starter | 6.1 | 6 | 3 | 3 | 1 | 6 | 0 | 26 | 114 | 4.26 | 3.03 | 1.15 |
| simulation | SD | 2 | Mason Miller | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.12 | 0.85 |
| simulation | SD | 3 | Adrian Morejon | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 18 | 0.00 | 2.87 | 1.07 |
| simulation | SD | 4 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 0.2 | 2 | 2 | 2 | 0 | 0 | 1 | 4 | 14 | 27.00 | 1.85 | 0.99 |
| simulation | COL | 1 | Tanner Gordon | Starter | 5.0 | 5 | 6 | 6 | 1 | 5 | 2 | 21 | 94 | 10.80 | 5.55 | 1.48 |
| simulation | COL | 2 | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 4.25 | 1.25 |
| simulation | COL | 3 | Brennan Bernardino | Setup Man | 1.0 | 1 | 0 | 0 | 2 | 2 | 0 | 6 | 34 | 0.00 | 2.43 | 1.11 |
| simulation | COL | 4 | Jimmy Herget | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 5.76 | 1.48 |
| simulation | COL | 5 | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 4 | 2 | 2 | 0 | 2 | 1 | 7 | 25 | 18.00 | 4.54 | 1.49 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| SD | Michael King | Starter | 6.1 | 3 | 6 | 1 | 6 | 26 | 114 |
| SD | Adrian Morejon | Setup Man | 1.0 | 0 | 1 | 0 | 1 | 4 | 18 |
| SD | Mason Miller | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| SD | Bradgley Rodriguez | Middle Reliever (High Leverage) | 0.2 | 2 | 2 | 0 | 0 | 4 | 14 |
| COL | Tanner Gordon | Starter | 5.0 | 6 | 5 | 1 | 5 | 21 | 94 |
| COL | Brennan Bernardino | Setup Man | 1.0 | 0 | 1 | 2 | 2 | 6 | 34 |
| COL | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 2 | 4 | 0 | 2 | 7 | 25 |
| COL | Jimmy Herget | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| COL | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 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. |