{
  "date": "2026-05-25",
  "generated_at": "2026-05-25T12:11:16.255153",
  "artifact_type": "strikeout_edges",
  "market_type": "pitcher_strikeouts",
  "model_version": "strikeout_edges_v1_overlay",
  "projection_model_version": "strikeout_props_v1_nb_overlay",
  "projection_date": "2026-05-25",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 96,
    "matched_count": 74,
    "unmatched_count": 22
  },
  "assumptions": {
    "methodology": "Sportsbook strikeout lines are matched against the saved Mithrandir strikeout props artifact. Model over, under, and push probabilities are derived from the existing matchup-adjusted strikeout distribution. Raw implied probabilities are calculated directly from American odds, and optional no-vig implied probabilities are computed by renormalizing both sides when both odds are present.",
    "distribution": {
      "name": "negative_binomial_style",
      "alpha": 0.0619,
      "whole_line_handling": "Over = P(K >= line + 1), Under = P(K <= line - 1), Push = P(K = line).",
      "half_line_handling": "Over = P(K >= ceil(line)), Under = 1 - Over, Push = 0."
    },
    "recommendation_thresholds": {
      "no_play_edge_threshold": 0.015,
      "lean_edge_threshold": 0.03,
      "strong_edge_threshold": 0.05
    }
  },
  "summary": {
    "raw_row_count": 74,
    "grouped_pitcher_count": 20,
    "sportsbook_count": 3
  },
  "edge_count": 74,
  "edges": [
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "STL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:51.000Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 6.19,
      "baseline_projected_strikeouts": 6.36,
      "adjusted_projected_strikeouts": 6.19,
      "skill_score": 84.9,
      "opportunity_score": 49.4,
      "opponent_weakness_score": 43.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2984,
      "model_under_probability": 0.7016,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6078,
      "implied_under_probability_raw": 0.4651,
      "implied_over_probability_novig": 0.5665,
      "implied_under_probability_novig": 0.4335,
      "edge_over": -0.3094,
      "edge_under": 0.2365,
      "recommended_side": "Under",
      "recommended_edge": 0.2365,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 74.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "STL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:28.000Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -140,
      "expected_strikeouts": 6.19,
      "baseline_projected_strikeouts": 6.36,
      "adjusted_projected_strikeouts": 6.19,
      "skill_score": 84.9,
      "opportunity_score": 49.4,
      "opponent_weakness_score": 43.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2023,
      "model_under_probability": 0.7977,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4495,
      "implied_under_probability_novig": 0.5505,
      "edge_over": -0.2739,
      "edge_under": 0.2144,
      "recommended_side": "Under",
      "recommended_edge": 0.2144,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 74.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -148,
      "expected_strikeouts": 6.19,
      "baseline_projected_strikeouts": 6.36,
      "adjusted_projected_strikeouts": 6.19,
      "skill_score": 84.9,
      "opportunity_score": 49.4,
      "opponent_weakness_score": 43.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2023,
      "model_under_probability": 0.7977,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4545,
      "implied_under_probability_raw": 0.5968,
      "implied_over_probability_novig": 0.4323,
      "implied_under_probability_novig": 0.5677,
      "edge_over": -0.2522,
      "edge_under": 0.2009,
      "recommended_side": "Under",
      "recommended_edge": 0.2009,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 74.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:38.000Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -148,
      "expected_strikeouts": 6.19,
      "baseline_projected_strikeouts": 6.36,
      "adjusted_projected_strikeouts": 6.19,
      "skill_score": 84.9,
      "opportunity_score": 49.4,
      "opponent_weakness_score": 43.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2023,
      "model_under_probability": 0.7977,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4545,
      "implied_under_probability_raw": 0.5968,
      "implied_over_probability_novig": 0.4323,
      "implied_under_probability_novig": 0.5677,
      "edge_over": -0.2522,
      "edge_under": 0.2009,
      "recommended_side": "Under",
      "recommended_edge": 0.2009,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 74.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "MIL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:28.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -141,
      "expected_strikeouts": 3.52,
      "baseline_projected_strikeouts": 3.45,
      "adjusted_projected_strikeouts": 3.52,
      "skill_score": 22.2,
      "opportunity_score": 37.7,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 64.1,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2862,
      "model_under_probability": 0.7138,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5851,
      "implied_over_probability_novig": 0.4487,
      "implied_under_probability_novig": 0.5513,
      "edge_over": -0.19,
      "edge_under": 0.1287,
      "recommended_side": "Under",
      "recommended_edge": 0.1287,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.019,
      "aggregate_matchup_score": 28.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.81,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Carmen Mlodzinski",
      "pitcher_id": 669387,
      "team_abbr": "PIT",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 124,
      "under_odds": -152,
      "expected_strikeouts": 3.43,
      "baseline_projected_strikeouts": 3.87,
      "adjusted_projected_strikeouts": 3.43,
      "skill_score": 16.8,
      "opportunity_score": 34.0,
      "opponent_weakness_score": 25.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2705,
      "model_under_probability": 0.7295,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4464,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4253,
      "implied_under_probability_novig": 0.5747,
      "edge_over": -0.1759,
      "edge_under": 0.1263,
      "recommended_side": "Under",
      "recommended_edge": 0.1263,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.44,
      "adjustment_multiplier": 0.885,
      "aggregate_matchup_score": 17.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 4653.0,
      "lineup_expected_strikeouts": 2.86,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Carmen Mlodzinski",
      "pitcher_id": 669387,
      "team_abbr": "PIT",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:41.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 124,
      "under_odds": -152,
      "expected_strikeouts": 3.43,
      "baseline_projected_strikeouts": 3.87,
      "adjusted_projected_strikeouts": 3.43,
      "skill_score": 16.8,
      "opportunity_score": 34.0,
      "opponent_weakness_score": 25.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2705,
      "model_under_probability": 0.7295,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4464,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4253,
      "implied_under_probability_novig": 0.5747,
      "edge_over": -0.1759,
      "edge_under": 0.1263,
      "recommended_side": "Under",
      "recommended_edge": 0.1263,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.44,
      "adjustment_multiplier": 0.885,
      "aggregate_matchup_score": 17.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 4653.0,
      "lineup_expected_strikeouts": 2.86,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emmet Sheehan",
      "pitcher_id": 686218,
      "team_abbr": "LAD",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:45.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -122,
      "expected_strikeouts": 5.53,
      "baseline_projected_strikeouts": 5.07,
      "adjusted_projected_strikeouts": 5.53,
      "skill_score": 48.8,
      "opportunity_score": 36.5,
      "opponent_weakness_score": 54.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 73.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3276,
      "model_under_probability": 0.6724,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5,
      "implied_under_probability_raw": 0.5495,
      "implied_over_probability_novig": 0.4764,
      "implied_under_probability_novig": 0.5236,
      "edge_over": -0.1724,
      "edge_under": 0.1229,
      "recommended_side": "Under",
      "recommended_edge": 0.1229,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.092,
      "aggregate_matchup_score": 75.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Carmen Mlodzinski",
      "pitcher_id": 669387,
      "team_abbr": "PIT",
      "opponent_abbr": "CHC",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:32.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 122,
      "under_odds": -156,
      "expected_strikeouts": 3.43,
      "baseline_projected_strikeouts": 3.87,
      "adjusted_projected_strikeouts": 3.43,
      "skill_score": 16.8,
      "opportunity_score": 34.0,
      "opponent_weakness_score": 25.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2705,
      "model_under_probability": 0.7295,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4505,
      "implied_under_probability_raw": 0.6094,
      "implied_over_probability_novig": 0.425,
      "implied_under_probability_novig": 0.575,
      "edge_over": -0.18,
      "edge_under": 0.1201,
      "recommended_side": "Under",
      "recommended_edge": 0.1201,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.44,
      "adjustment_multiplier": 0.885,
      "aggregate_matchup_score": 17.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 4653.0,
      "lineup_expected_strikeouts": 2.86,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Luis Castillo",
      "pitcher_id": 622491,
      "team_abbr": "SEA",
      "opponent_abbr": "ATH",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:55.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 5.17,
      "baseline_projected_strikeouts": 4.56,
      "adjusted_projected_strikeouts": 5.17,
      "skill_score": 20.3,
      "opportunity_score": 52.5,
      "opponent_weakness_score": 49.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 49.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7181,
      "model_under_probability": 0.2819,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5575,
      "implied_under_probability_novig": 0.4425,
      "edge_over": 0.1181,
      "edge_under": -0.1943,
      "recommended_side": "Over",
      "recommended_edge": 0.1181,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.61,
      "adjustment_multiplier": 1.133,
      "aggregate_matchup_score": 64.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35993.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 54.7,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "AZ",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:43.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 125,
      "under_odds": -160,
      "expected_strikeouts": 4.29,
      "baseline_projected_strikeouts": 4.64,
      "adjusted_projected_strikeouts": 4.29,
      "skill_score": 35.0,
      "opportunity_score": 52.8,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 42.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2739,
      "model_under_probability": 0.7261,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4444,
      "implied_under_probability_raw": 0.6154,
      "implied_over_probability_novig": 0.4193,
      "implied_under_probability_novig": 0.5807,
      "edge_over": -0.1705,
      "edge_under": 0.1107,
      "recommended_side": "Under",
      "recommended_edge": 0.1107,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.35,
      "adjustment_multiplier": 0.924,
      "aggregate_matchup_score": 27.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 3.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 130,
      "under_odds": -160,
      "expected_strikeouts": 4.29,
      "baseline_projected_strikeouts": 4.64,
      "adjusted_projected_strikeouts": 4.29,
      "skill_score": 35.0,
      "opportunity_score": 52.8,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 42.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2739,
      "model_under_probability": 0.7261,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4348,
      "implied_under_probability_raw": 0.6154,
      "implied_over_probability_novig": 0.414,
      "implied_under_probability_novig": 0.586,
      "edge_over": -0.1609,
      "edge_under": 0.1107,
      "recommended_side": "Under",
      "recommended_edge": 0.1107,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.35,
      "adjustment_multiplier": 0.924,
      "aggregate_matchup_score": 27.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 3.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:13.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 130,
      "under_odds": -160,
      "expected_strikeouts": 4.29,
      "baseline_projected_strikeouts": 4.64,
      "adjusted_projected_strikeouts": 4.29,
      "skill_score": 35.0,
      "opportunity_score": 52.8,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 42.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2739,
      "model_under_probability": 0.7261,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4348,
      "implied_under_probability_raw": 0.6154,
      "implied_over_probability_novig": 0.414,
      "implied_under_probability_novig": 0.586,
      "edge_over": -0.1609,
      "edge_under": 0.1107,
      "recommended_side": "Under",
      "recommended_edge": 0.1107,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.35,
      "adjustment_multiplier": 0.924,
      "aggregate_matchup_score": 27.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 3.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -152,
      "expected_strikeouts": 3.52,
      "baseline_projected_strikeouts": 3.45,
      "adjusted_projected_strikeouts": 3.52,
      "skill_score": 22.2,
      "opportunity_score": 37.7,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 64.1,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2862,
      "model_under_probability": 0.7138,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4365,
      "implied_under_probability_novig": 0.5635,
      "edge_over": -0.1811,
      "edge_under": 0.1106,
      "recommended_side": "Under",
      "recommended_edge": 0.1106,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.019,
      "aggregate_matchup_score": 28.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.81,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:38.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -152,
      "expected_strikeouts": 3.52,
      "baseline_projected_strikeouts": 3.45,
      "adjusted_projected_strikeouts": 3.52,
      "skill_score": 22.2,
      "opportunity_score": 37.7,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 64.1,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2862,
      "model_under_probability": 0.7138,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4365,
      "implied_under_probability_novig": 0.5635,
      "edge_over": -0.1811,
      "edge_under": 0.1106,
      "recommended_side": "Under",
      "recommended_edge": 0.1106,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.019,
      "aggregate_matchup_score": 28.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.81,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "AZ",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:57.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 125,
      "under_odds": -165,
      "expected_strikeouts": 4.29,
      "baseline_projected_strikeouts": 4.64,
      "adjusted_projected_strikeouts": 4.29,
      "skill_score": 35.0,
      "opportunity_score": 52.8,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 42.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2739,
      "model_under_probability": 0.7261,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4444,
      "implied_under_probability_raw": 0.6226,
      "implied_over_probability_novig": 0.4165,
      "implied_under_probability_novig": 0.5835,
      "edge_over": -0.1705,
      "edge_under": 0.1035,
      "recommended_side": "Under",
      "recommended_edge": 0.1035,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.35,
      "adjustment_multiplier": 0.924,
      "aggregate_matchup_score": 27.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 3.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "MIL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:51.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -160,
      "expected_strikeouts": 3.52,
      "baseline_projected_strikeouts": 3.45,
      "adjusted_projected_strikeouts": 3.52,
      "skill_score": 22.2,
      "opportunity_score": 37.7,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 64.1,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2862,
      "model_under_probability": 0.7138,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4545,
      "implied_under_probability_raw": 0.6154,
      "implied_over_probability_novig": 0.4248,
      "implied_under_probability_novig": 0.5752,
      "edge_over": -0.1683,
      "edge_under": 0.0984,
      "recommended_side": "Under",
      "recommended_edge": 0.0984,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.019,
      "aggregate_matchup_score": 28.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.81,
      "environment_summary": "neutral",
      "temperature_f": 82.6,
      "wind_speed_mph": 10.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emmet Sheehan",
      "pitcher_id": 686218,
      "team_abbr": "LAD",
      "opponent_abbr": "COL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:34.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -135,
      "expected_strikeouts": 5.53,
      "baseline_projected_strikeouts": 5.07,
      "adjusted_projected_strikeouts": 5.53,
      "skill_score": 48.8,
      "opportunity_score": 36.5,
      "opponent_weakness_score": 54.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 73.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3276,
      "model_under_probability": 0.6724,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5,
      "implied_under_probability_raw": 0.5745,
      "implied_over_probability_novig": 0.4653,
      "implied_under_probability_novig": 0.5347,
      "edge_over": -0.1724,
      "edge_under": 0.0979,
      "recommended_side": "Under",
      "recommended_edge": 0.0979,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.092,
      "aggregate_matchup_score": 75.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Luis Castillo",
      "pitcher_id": 622491,
      "team_abbr": "SEA",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:16.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -168,
      "under_odds": 126,
      "expected_strikeouts": 5.17,
      "baseline_projected_strikeouts": 4.56,
      "adjusted_projected_strikeouts": 5.17,
      "skill_score": 20.3,
      "opportunity_score": 52.5,
      "opponent_weakness_score": 49.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 49.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7181,
      "model_under_probability": 0.2819,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6269,
      "implied_under_probability_raw": 0.4425,
      "implied_over_probability_novig": 0.5862,
      "implied_under_probability_novig": 0.4138,
      "edge_over": 0.0912,
      "edge_under": -0.1606,
      "recommended_side": "Over",
      "recommended_edge": 0.0912,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.61,
      "adjustment_multiplier": 1.133,
      "aggregate_matchup_score": 64.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35993.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 54.7,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Luis Castillo",
      "pitcher_id": 622491,
      "team_abbr": "SEA",
      "opponent_abbr": "ATH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:21.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -171,
      "under_odds": 134,
      "expected_strikeouts": 5.17,
      "baseline_projected_strikeouts": 4.56,
      "adjusted_projected_strikeouts": 5.17,
      "skill_score": 20.3,
      "opportunity_score": 52.5,
      "opponent_weakness_score": 49.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 49.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7181,
      "model_under_probability": 0.2819,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.631,
      "implied_under_probability_raw": 0.4274,
      "implied_over_probability_novig": 0.5962,
      "implied_under_probability_novig": 0.4038,
      "edge_over": 0.0871,
      "edge_under": -0.1455,
      "recommended_side": "Over",
      "recommended_edge": 0.0871,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.61,
      "adjustment_multiplier": 1.133,
      "aggregate_matchup_score": 64.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35993.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 54.7,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emmet Sheehan",
      "pitcher_id": 686218,
      "team_abbr": "LAD",
      "opponent_abbr": "COL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:15.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 112,
      "under_odds": -142,
      "expected_strikeouts": 5.53,
      "baseline_projected_strikeouts": 5.07,
      "adjusted_projected_strikeouts": 5.53,
      "skill_score": 48.8,
      "opportunity_score": 36.5,
      "opponent_weakness_score": 54.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 73.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3276,
      "model_under_probability": 0.6724,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4717,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.4456,
      "implied_under_probability_novig": 0.5544,
      "edge_over": -0.1441,
      "edge_under": 0.0856,
      "recommended_side": "Under",
      "recommended_edge": 0.0856,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.092,
      "aggregate_matchup_score": 75.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Carmen Mlodzinski",
      "pitcher_id": 669387,
      "team_abbr": "PIT",
      "opponent_abbr": "CHC",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:43.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 3.43,
      "baseline_projected_strikeouts": 3.87,
      "adjusted_projected_strikeouts": 3.43,
      "skill_score": 16.8,
      "opportunity_score": 34.0,
      "opponent_weakness_score": 25.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.439,
      "model_under_probability": 0.561,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5575,
      "implied_under_probability_novig": 0.4425,
      "edge_over": -0.161,
      "edge_under": 0.0848,
      "recommended_side": "Under",
      "recommended_edge": 0.0848,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.44,
      "adjustment_multiplier": 0.885,
      "aggregate_matchup_score": 17.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 4653.0,
      "lineup_expected_strikeouts": 2.86,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "KC",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:16.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -164,
      "under_odds": 128,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 44.2,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 28.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 46.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6212,
      "implied_under_probability_raw": 0.4386,
      "implied_over_probability_novig": 0.5861,
      "implied_under_probability_novig": 0.4139,
      "edge_over": -0.1437,
      "edge_under": 0.0839,
      "recommended_side": "Under",
      "recommended_edge": 0.0839,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.11,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 36.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 4.58,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "KC",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:35.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -165,
      "under_odds": 125,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 44.2,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 28.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 46.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6226,
      "implied_under_probability_raw": 0.4444,
      "implied_over_probability_novig": 0.5835,
      "implied_under_probability_novig": 0.4165,
      "edge_over": -0.1451,
      "edge_under": 0.0781,
      "recommended_side": "Under",
      "recommended_edge": 0.0781,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.11,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 36.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 4.58,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:45.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 4.73,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.73,
      "skill_score": 34.2,
      "opportunity_score": 55.8,
      "opponent_weakness_score": 40.8,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3414,
      "model_under_probability": 0.6586,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": -0.1464,
      "edge_under": 0.0753,
      "recommended_side": "Under",
      "recommended_edge": 0.0753,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 61.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 4.71,
      "environment_summary": "neutral",
      "temperature_f": 75.6,
      "wind_speed_mph": 10.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:13.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -141,
      "expected_strikeouts": 4.73,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.73,
      "skill_score": 34.2,
      "opportunity_score": 55.8,
      "opponent_weakness_score": 40.8,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3414,
      "model_under_probability": 0.6586,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5851,
      "implied_over_probability_novig": 0.4487,
      "implied_under_probability_novig": 0.5513,
      "edge_over": -0.1348,
      "edge_under": 0.0735,
      "recommended_side": "Under",
      "recommended_edge": 0.0735,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 61.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 4.71,
      "environment_summary": "neutral",
      "temperature_f": 75.6,
      "wind_speed_mph": 10.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -106,
      "expected_strikeouts": 3.34,
      "baseline_projected_strikeouts": 3.49,
      "adjusted_projected_strikeouts": 3.34,
      "skill_score": 5.6,
      "opportunity_score": 37.2,
      "opponent_weakness_score": 26.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 56.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4212,
      "model_under_probability": 0.5788,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5556,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5192,
      "implied_under_probability_novig": 0.4808,
      "edge_over": -0.1344,
      "edge_under": 0.0642,
      "recommended_side": "Under",
      "recommended_edge": 0.0642,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.958,
      "aggregate_matchup_score": 26.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.26,
      "environment_summary": "neutral",
      "temperature_f": 52.9,
      "wind_speed_mph": 2.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:11.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -106,
      "expected_strikeouts": 3.34,
      "baseline_projected_strikeouts": 3.49,
      "adjusted_projected_strikeouts": 3.34,
      "skill_score": 5.6,
      "opportunity_score": 37.2,
      "opponent_weakness_score": 26.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 56.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4212,
      "model_under_probability": 0.5788,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5556,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5192,
      "implied_under_probability_novig": 0.4808,
      "edge_over": -0.1344,
      "edge_under": 0.0642,
      "recommended_side": "Under",
      "recommended_edge": 0.0642,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.958,
      "aggregate_matchup_score": 26.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.26,
      "environment_summary": "neutral",
      "temperature_f": 52.9,
      "wind_speed_mph": 2.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "TOR",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:45.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -110,
      "expected_strikeouts": 3.34,
      "baseline_projected_strikeouts": 3.49,
      "adjusted_projected_strikeouts": 3.34,
      "skill_score": 5.6,
      "opportunity_score": 37.2,
      "opponent_weakness_score": 26.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 56.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4212,
      "model_under_probability": 0.5788,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5455,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5101,
      "implied_under_probability_novig": 0.4899,
      "edge_over": -0.1243,
      "edge_under": 0.055,
      "recommended_side": "Under",
      "recommended_edge": 0.055,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.958,
      "aggregate_matchup_score": 26.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.26,
      "environment_summary": "neutral",
      "temperature_f": 52.9,
      "wind_speed_mph": 2.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kumar Rocker",
      "pitcher_id": 677958,
      "team_abbr": "TEX",
      "opponent_abbr": "HOU",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:43.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -115,
      "expected_strikeouts": 4.24,
      "baseline_projected_strikeouts": 4.22,
      "adjusted_projected_strikeouts": 4.24,
      "skill_score": 6.1,
      "opportunity_score": 27.9,
      "opponent_weakness_score": 30.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.412,
      "model_under_probability": 0.588,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5349,
      "implied_under_probability_raw": 0.5349,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.1229,
      "edge_under": 0.0531,
      "recommended_side": "Under",
      "recommended_edge": 0.0531,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.005,
      "aggregate_matchup_score": 34.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6507.0,
      "lineup_expected_strikeouts": 4.43,
      "environment_summary": "neutral",
      "temperature_f": 73.4,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "TOR",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:45.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -111,
      "expected_strikeouts": 3.34,
      "baseline_projected_strikeouts": 3.49,
      "adjusted_projected_strikeouts": 3.34,
      "skill_score": 5.6,
      "opportunity_score": 37.2,
      "opponent_weakness_score": 26.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 56.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4212,
      "model_under_probability": 0.5788,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5349,
      "implied_under_probability_raw": 0.5261,
      "implied_over_probability_novig": 0.5041,
      "implied_under_probability_novig": 0.4959,
      "edge_over": -0.1137,
      "edge_under": 0.0527,
      "recommended_side": "Under",
      "recommended_edge": 0.0527,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.958,
      "aggregate_matchup_score": 26.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.26,
      "environment_summary": "neutral",
      "temperature_f": 52.9,
      "wind_speed_mph": 2.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:39.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -154,
      "expected_strikeouts": 4.73,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.73,
      "skill_score": 34.2,
      "opportunity_score": 55.8,
      "opponent_weakness_score": 40.8,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3414,
      "model_under_probability": 0.6586,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.6063,
      "implied_over_probability_novig": 0.433,
      "implied_under_probability_novig": 0.567,
      "edge_over": -0.1216,
      "edge_under": 0.0523,
      "recommended_side": "Under",
      "recommended_edge": 0.0523,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 61.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 4.71,
      "environment_summary": "neutral",
      "temperature_f": 75.6,
      "wind_speed_mph": 10.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 124,
      "under_odds": -166,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 44.2,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 28.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 46.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.326,
      "model_under_probability": 0.674,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4464,
      "implied_under_probability_raw": 0.6241,
      "implied_over_probability_novig": 0.417,
      "implied_under_probability_novig": 0.583,
      "edge_over": -0.1204,
      "edge_under": 0.0499,
      "recommended_side": "Under",
      "recommended_edge": 0.0499,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.11,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 36.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 4.58,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:42.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 124,
      "under_odds": -166,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 44.2,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 28.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 46.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.326,
      "model_under_probability": 0.674,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4464,
      "implied_under_probability_raw": 0.6241,
      "implied_over_probability_novig": 0.417,
      "implied_under_probability_novig": 0.583,
      "edge_over": -0.1204,
      "edge_under": 0.0499,
      "recommended_side": "Under",
      "recommended_edge": 0.0499,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.11,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 36.8,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 4.58,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -158,
      "expected_strikeouts": 4.73,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.73,
      "skill_score": 34.2,
      "opportunity_score": 55.8,
      "opponent_weakness_score": 40.8,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3414,
      "model_under_probability": 0.6586,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": 0.6124,
      "implied_over_probability_novig": 0.4283,
      "implied_under_probability_novig": 0.5717,
      "edge_over": -0.1173,
      "edge_under": 0.0462,
      "recommended_side": "Under",
      "recommended_edge": 0.0462,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 61.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 4.71,
      "environment_summary": "neutral",
      "temperature_f": 75.6,
      "wind_speed_mph": 10.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kumar Rocker",
      "pitcher_id": 677958,
      "team_abbr": "TEX",
      "opponent_abbr": "HOU",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:18.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -107,
      "under_odds": -119,
      "expected_strikeouts": 4.24,
      "baseline_projected_strikeouts": 4.22,
      "adjusted_projected_strikeouts": 4.24,
      "skill_score": 6.1,
      "opportunity_score": 27.9,
      "opponent_weakness_score": 30.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.412,
      "model_under_probability": 0.588,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5169,
      "implied_under_probability_raw": 0.5434,
      "implied_over_probability_novig": 0.4875,
      "implied_under_probability_novig": 0.5125,
      "edge_over": -0.1049,
      "edge_under": 0.0446,
      "recommended_side": "Under",
      "recommended_edge": 0.0446,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.005,
      "aggregate_matchup_score": 34.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6507.0,
      "lineup_expected_strikeouts": 4.43,
      "environment_summary": "neutral",
      "temperature_f": 73.4,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:34.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -135,
      "under_odds": 100,
      "expected_strikeouts": 3.55,
      "baseline_projected_strikeouts": 3.6,
      "adjusted_projected_strikeouts": 3.55,
      "skill_score": 24.5,
      "opportunity_score": 40.9,
      "opponent_weakness_score": 29.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 63.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4623,
      "model_under_probability": 0.5377,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5745,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5347,
      "implied_under_probability_novig": 0.4653,
      "edge_over": -0.1122,
      "edge_under": 0.0377,
      "recommended_side": "Under",
      "recommended_edge": 0.0377,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.986,
      "aggregate_matchup_score": 18.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.71,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:15.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -129,
      "under_odds": 100,
      "expected_strikeouts": 3.55,
      "baseline_projected_strikeouts": 3.6,
      "adjusted_projected_strikeouts": 3.55,
      "skill_score": 24.5,
      "opportunity_score": 40.9,
      "opponent_weakness_score": 29.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 63.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4623,
      "model_under_probability": 0.5377,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5633,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5298,
      "implied_under_probability_novig": 0.4702,
      "edge_over": -0.101,
      "edge_under": 0.0377,
      "recommended_side": "Under",
      "recommended_edge": 0.0377,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.986,
      "aggregate_matchup_score": 18.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.71,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Civale",
      "pitcher_id": 650644,
      "team_abbr": "ATH",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:16.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 122,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 15.7,
      "opportunity_score": 37.8,
      "opponent_weakness_score": 36.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 55.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6358,
      "model_under_probability": 0.3642,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6,
      "implied_under_probability_raw": 0.4505,
      "implied_over_probability_novig": 0.5712,
      "implied_under_probability_novig": 0.4288,
      "edge_over": 0.0358,
      "edge_under": -0.0863,
      "recommended_side": "Over",
      "recommended_edge": 0.0358,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.049,
      "aggregate_matchup_score": 38.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24505.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 54.7,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jes\u00fas Luzardo",
      "pitcher_id": 666200,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:19.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 109,
      "under_odds": -139,
      "expected_strikeouts": 5.93,
      "baseline_projected_strikeouts": 5.93,
      "adjusted_projected_strikeouts": 5.93,
      "skill_score": 57.7,
      "opportunity_score": 57.3,
      "opponent_weakness_score": 40.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 35.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.3828,
      "model_under_probability": 0.6172,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4785,
      "implied_under_probability_raw": 0.5816,
      "implied_over_probability_novig": 0.4514,
      "implied_under_probability_novig": 0.5486,
      "edge_over": -0.0957,
      "edge_under": 0.0356,
      "recommended_side": "Under",
      "recommended_edge": 0.0356,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 63.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 28361.0,
      "lineup_expected_strikeouts": 5.75,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 6.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jes\u00fas Luzardo",
      "pitcher_id": 666200,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:29.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 5.93,
      "baseline_projected_strikeouts": 5.93,
      "adjusted_projected_strikeouts": 5.93,
      "skill_score": 57.7,
      "opportunity_score": 57.3,
      "opponent_weakness_score": 40.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 35.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.3828,
      "model_under_probability": 0.6172,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": -0.105,
      "edge_under": 0.0339,
      "recommended_side": "Under",
      "recommended_edge": 0.0339,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 63.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 28361.0,
      "lineup_expected_strikeouts": 5.75,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 6.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jes\u00fas Luzardo",
      "pitcher_id": 666200,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:16.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 106,
      "under_odds": -140,
      "expected_strikeouts": 5.93,
      "baseline_projected_strikeouts": 5.93,
      "adjusted_projected_strikeouts": 5.93,
      "skill_score": 57.7,
      "opportunity_score": 57.3,
      "opponent_weakness_score": 40.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 35.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.3828,
      "model_under_probability": 0.6172,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4854,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4542,
      "implied_under_probability_novig": 0.5458,
      "edge_over": -0.1026,
      "edge_under": 0.0339,
      "recommended_side": "Under",
      "recommended_edge": 0.0339,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 63.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 28361.0,
      "lineup_expected_strikeouts": 5.75,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 6.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ben Brown",
      "pitcher_id": 676962,
      "team_abbr": "CHC",
      "opponent_abbr": "PIT",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:32.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 107,
      "under_odds": -137,
      "expected_strikeouts": 5.06,
      "baseline_projected_strikeouts": 4.76,
      "adjusted_projected_strikeouts": 5.06,
      "skill_score": 35.8,
      "opportunity_score": 21.1,
      "opponent_weakness_score": 44.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 91.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3921,
      "model_under_probability": 0.6079,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4831,
      "implied_under_probability_raw": 0.5781,
      "implied_over_probability_novig": 0.4552,
      "implied_under_probability_novig": 0.5448,
      "edge_over": -0.091,
      "edge_under": 0.0298,
      "recommended_side": "Under",
      "recommended_edge": 0.0298,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 57.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 8699.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ben Brown",
      "pitcher_id": 676962,
      "team_abbr": "CHC",
      "opponent_abbr": "PIT",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:43.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 5.06,
      "baseline_projected_strikeouts": 4.76,
      "adjusted_projected_strikeouts": 5.06,
      "skill_score": 35.8,
      "opportunity_score": 21.1,
      "opponent_weakness_score": 44.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 91.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3921,
      "model_under_probability": 0.6079,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": -0.0957,
      "edge_under": 0.0246,
      "recommended_side": "Under",
      "recommended_edge": 0.0246,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 57.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 8699.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Civale",
      "pitcher_id": 650644,
      "team_abbr": "ATH",
      "opponent_abbr": "SEA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:55.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -160,
      "under_odds": 120,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 15.7,
      "opportunity_score": 37.8,
      "opponent_weakness_score": 36.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 55.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6358,
      "model_under_probability": 0.3642,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6154,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5752,
      "implied_under_probability_novig": 0.4248,
      "edge_over": 0.0204,
      "edge_under": -0.0903,
      "recommended_side": "Over",
      "recommended_edge": 0.0204,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.049,
      "aggregate_matchup_score": 38.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24505.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 54.7,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Civale",
      "pitcher_id": 650644,
      "team_abbr": "ATH",
      "opponent_abbr": "SEA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:21.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 124,
      "under_odds": -158,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 15.7,
      "opportunity_score": 37.8,
      "opponent_weakness_score": 36.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 55.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.466,
      "model_under_probability": 0.534,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4464,
      "implied_under_probability_raw": 0.6124,
      "implied_over_probability_novig": 0.4216,
      "implied_under_probability_novig": 0.5784,
      "edge_over": 0.0196,
      "edge_under": -0.0784,
      "recommended_side": "Over",
      "recommended_edge": 0.0196,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.049,
      "aggregate_matchup_score": 38.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24505.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 54.7,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kumar Rocker",
      "pitcher_id": 677958,
      "team_abbr": "TEX",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -134,
      "expected_strikeouts": 4.24,
      "baseline_projected_strikeouts": 4.22,
      "adjusted_projected_strikeouts": 4.24,
      "skill_score": 6.1,
      "opportunity_score": 27.9,
      "opponent_weakness_score": 30.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.412,
      "model_under_probability": 0.588,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5726,
      "implied_over_probability_novig": 0.454,
      "implied_under_probability_novig": 0.546,
      "edge_over": -0.0642,
      "edge_under": 0.0154,
      "recommended_side": "Under",
      "recommended_edge": 0.0154,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.005,
      "aggregate_matchup_score": 34.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6507.0,
      "lineup_expected_strikeouts": 4.43,
      "environment_summary": "neutral",
      "temperature_f": 73.4,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kumar Rocker",
      "pitcher_id": 677958,
      "team_abbr": "TEX",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:35.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -134,
      "expected_strikeouts": 4.24,
      "baseline_projected_strikeouts": 4.22,
      "adjusted_projected_strikeouts": 4.24,
      "skill_score": 6.1,
      "opportunity_score": 27.9,
      "opponent_weakness_score": 30.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.412,
      "model_under_probability": 0.588,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5726,
      "implied_over_probability_novig": 0.454,
      "implied_under_probability_novig": 0.546,
      "edge_over": -0.0642,
      "edge_under": 0.0154,
      "recommended_side": "Under",
      "recommended_edge": 0.0154,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.005,
      "aggregate_matchup_score": 34.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6507.0,
      "lineup_expected_strikeouts": 4.43,
      "environment_summary": "neutral",
      "temperature_f": 73.4,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TB",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:41.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -128,
      "under_odds": 101,
      "expected_strikeouts": 5.76,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.76,
      "skill_score": 29.0,
      "opportunity_score": 55.7,
      "opponent_weakness_score": 39.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.0,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4958,
      "model_under_probability": 0.5042,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5614,
      "implied_under_probability_raw": 0.4975,
      "implied_over_probability_novig": 0.5302,
      "implied_under_probability_novig": 0.4698,
      "edge_over": -0.0656,
      "edge_under": 0.0067,
      "recommended_side": "No Play",
      "recommended_edge": 0.0067,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.983,
      "aggregate_matchup_score": 65.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.37,
      "environment_summary": "neutral",
      "temperature_f": 70.9,
      "wind_speed_mph": 4.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "WSH",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:03.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 5.2,
      "baseline_projected_strikeouts": 5.28,
      "adjusted_projected_strikeouts": 5.2,
      "skill_score": 41.1,
      "opportunity_score": 47.5,
      "opponent_weakness_score": 34.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4134,
      "model_under_probability": 0.5866,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": -0.0744,
      "edge_under": 0.0033,
      "recommended_side": "No Play",
      "recommended_edge": 0.0033,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.08,
      "adjustment_multiplier": 0.984,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Randy V\u00e1squez",
      "pitcher_id": 681190,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:29.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -110,
      "expected_strikeouts": 3.61,
      "baseline_projected_strikeouts": 3.78,
      "adjusted_projected_strikeouts": 3.61,
      "skill_score": 8.4,
      "opportunity_score": 41.6,
      "opponent_weakness_score": 26.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 49.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4738,
      "model_under_probability": 0.5262,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5082,
      "implied_under_probability_novig": 0.4918,
      "edge_over": -0.0675,
      "edge_under": 0.0024,
      "recommended_side": "No Play",
      "recommended_edge": 0.0024,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 16.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18198.0,
      "lineup_expected_strikeouts": 3.59,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 6.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ben Brown",
      "pitcher_id": 676962,
      "team_abbr": "CHC",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -154,
      "expected_strikeouts": 5.06,
      "baseline_projected_strikeouts": 4.76,
      "adjusted_projected_strikeouts": 5.06,
      "skill_score": 35.8,
      "opportunity_score": 21.1,
      "opponent_weakness_score": 44.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 91.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3921,
      "model_under_probability": 0.6079,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.6063,
      "implied_over_probability_novig": 0.433,
      "implied_under_probability_novig": 0.567,
      "edge_over": -0.0709,
      "edge_under": 0.0016,
      "recommended_side": "No Play",
      "recommended_edge": 0.0016,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 57.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 8699.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ben Brown",
      "pitcher_id": 676962,
      "team_abbr": "CHC",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:41.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -154,
      "expected_strikeouts": 5.06,
      "baseline_projected_strikeouts": 4.76,
      "adjusted_projected_strikeouts": 5.06,
      "skill_score": 35.8,
      "opportunity_score": 21.1,
      "opponent_weakness_score": 44.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 91.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3921,
      "model_under_probability": 0.6079,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.6063,
      "implied_over_probability_novig": 0.433,
      "implied_under_probability_novig": 0.567,
      "edge_over": -0.0709,
      "edge_under": 0.0016,
      "recommended_side": "No Play",
      "recommended_edge": 0.0016,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 57.0,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 8699.0,
      "lineup_expected_strikeouts": 5.53,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -142,
      "expected_strikeouts": 5.2,
      "baseline_projected_strikeouts": 5.28,
      "adjusted_projected_strikeouts": 5.2,
      "skill_score": 41.1,
      "opportunity_score": 47.5,
      "opponent_weakness_score": 34.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4134,
      "model_under_probability": 0.5866,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.441,
      "implied_under_probability_novig": 0.559,
      "edge_over": -0.0496,
      "edge_under": -0.0002,
      "recommended_side": "No Play",
      "recommended_edge": -0.0002,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.08,
      "adjustment_multiplier": 0.984,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:38.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -142,
      "expected_strikeouts": 5.2,
      "baseline_projected_strikeouts": 5.28,
      "adjusted_projected_strikeouts": 5.2,
      "skill_score": 41.1,
      "opportunity_score": 47.5,
      "opponent_weakness_score": 34.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4134,
      "model_under_probability": 0.5866,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.441,
      "implied_under_probability_novig": 0.559,
      "edge_over": -0.0496,
      "edge_under": -0.0002,
      "recommended_side": "No Play",
      "recommended_edge": -0.0002,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.08,
      "adjustment_multiplier": 0.984,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "LAD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:45.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -112,
      "under_odds": -118,
      "expected_strikeouts": 3.55,
      "baseline_projected_strikeouts": 3.6,
      "adjusted_projected_strikeouts": 3.55,
      "skill_score": 24.5,
      "opportunity_score": 40.9,
      "opponent_weakness_score": 29.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 63.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4623,
      "model_under_probability": 0.5377,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5283,
      "implied_under_probability_raw": 0.5413,
      "implied_over_probability_novig": 0.4939,
      "implied_under_probability_novig": 0.5061,
      "edge_over": -0.066,
      "edge_under": -0.0036,
      "recommended_side": "No Play",
      "recommended_edge": -0.0036,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.986,
      "aggregate_matchup_score": 18.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.71,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "WSH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:41.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -145,
      "expected_strikeouts": 5.2,
      "baseline_projected_strikeouts": 5.28,
      "adjusted_projected_strikeouts": 5.2,
      "skill_score": 41.1,
      "opportunity_score": 47.5,
      "opponent_weakness_score": 34.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4134,
      "model_under_probability": 0.5866,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.5918,
      "implied_over_probability_novig": 0.4412,
      "implied_under_probability_novig": 0.5588,
      "edge_over": -0.0539,
      "edge_under": -0.0052,
      "recommended_side": "No Play",
      "recommended_edge": -0.0052,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.08,
      "adjustment_multiplier": 0.984,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -114,
      "under_odds": -114,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 19.6,
      "opportunity_score": 54.8,
      "opponent_weakness_score": 44.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 29.4,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5327,
      "implied_under_probability_raw": 0.5327,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.0552,
      "edge_under": -0.0102,
      "recommended_side": "No Play",
      "recommended_edge": -0.0102,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.082,
      "aggregate_matchup_score": 53.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.24,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:13.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -114,
      "under_odds": -114,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 19.6,
      "opportunity_score": 54.8,
      "opponent_weakness_score": 44.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 29.4,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5327,
      "implied_under_probability_raw": 0.5327,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.0552,
      "edge_under": -0.0102,
      "recommended_side": "No Play",
      "recommended_edge": -0.0102,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.082,
      "aggregate_matchup_score": 53.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.24,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -152,
      "under_odds": 114,
      "expected_strikeouts": 5.05,
      "baseline_projected_strikeouts": 4.79,
      "adjusted_projected_strikeouts": 5.05,
      "skill_score": 25.2,
      "opportunity_score": 52.4,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5437,
      "model_under_probability": 0.4563,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6032,
      "implied_under_probability_raw": 0.4673,
      "implied_over_probability_novig": 0.5635,
      "implied_under_probability_novig": 0.4365,
      "edge_over": -0.0595,
      "edge_under": -0.011,
      "recommended_side": "No Play",
      "recommended_edge": -0.011,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.055,
      "aggregate_matchup_score": 48.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.56,
      "environment_summary": "neutral",
      "temperature_f": 66.4,
      "wind_speed_mph": 4.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:27.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -152,
      "under_odds": 114,
      "expected_strikeouts": 5.05,
      "baseline_projected_strikeouts": 4.79,
      "adjusted_projected_strikeouts": 5.05,
      "skill_score": 25.2,
      "opportunity_score": 52.4,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5437,
      "model_under_probability": 0.4563,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6032,
      "implied_under_probability_raw": 0.4673,
      "implied_over_probability_novig": 0.5635,
      "implied_under_probability_novig": 0.4365,
      "edge_over": -0.0595,
      "edge_under": -0.011,
      "recommended_side": "No Play",
      "recommended_edge": -0.011,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.055,
      "aggregate_matchup_score": 48.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.56,
      "environment_summary": "neutral",
      "temperature_f": 66.4,
      "wind_speed_mph": 4.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SF",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:43.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -111,
      "under_odds": -115,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 19.6,
      "opportunity_score": 54.8,
      "opponent_weakness_score": 44.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 29.4,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5261,
      "implied_under_probability_raw": 0.5349,
      "implied_over_probability_novig": 0.4959,
      "implied_under_probability_novig": 0.5041,
      "edge_over": -0.0486,
      "edge_under": -0.0124,
      "recommended_side": "No Play",
      "recommended_edge": -0.0124,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.082,
      "aggregate_matchup_score": 53.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.24,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "NYM",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:43.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 125,
      "under_odds": -165,
      "expected_strikeouts": 5.05,
      "baseline_projected_strikeouts": 4.79,
      "adjusted_projected_strikeouts": 5.05,
      "skill_score": 25.2,
      "opportunity_score": 52.4,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3906,
      "model_under_probability": 0.6094,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4444,
      "implied_under_probability_raw": 0.6226,
      "implied_over_probability_novig": 0.4165,
      "implied_under_probability_novig": 0.5835,
      "edge_over": -0.0538,
      "edge_under": -0.0132,
      "recommended_side": "No Play",
      "recommended_edge": -0.0132,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.055,
      "aggregate_matchup_score": 48.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.56,
      "environment_summary": "neutral",
      "temperature_f": 66.4,
      "wind_speed_mph": 4.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "NYM",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:37.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 113,
      "expected_strikeouts": 5.05,
      "baseline_projected_strikeouts": 4.79,
      "adjusted_projected_strikeouts": 5.05,
      "skill_score": 25.2,
      "opportunity_score": 52.4,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5437,
      "model_under_probability": 0.4563,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4695,
      "implied_over_probability_novig": 0.557,
      "implied_under_probability_novig": 0.443,
      "edge_over": -0.0465,
      "edge_under": -0.0132,
      "recommended_side": "No Play",
      "recommended_edge": -0.0132,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.055,
      "aggregate_matchup_score": 48.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.56,
      "environment_summary": "neutral",
      "temperature_f": 66.4,
      "wind_speed_mph": 4.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -134,
      "under_odds": 110,
      "expected_strikeouts": 5.12,
      "baseline_projected_strikeouts": 5.29,
      "adjusted_projected_strikeouts": 5.12,
      "skill_score": 19.0,
      "opportunity_score": 65.5,
      "opponent_weakness_score": 27.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 18.9,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5543,
      "model_under_probability": 0.4457,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5726,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.546,
      "implied_under_probability_novig": 0.454,
      "edge_over": -0.0183,
      "edge_under": -0.0305,
      "recommended_side": "No Play",
      "recommended_edge": -0.0183,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 37.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.94,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:42.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -134,
      "under_odds": 110,
      "expected_strikeouts": 5.12,
      "baseline_projected_strikeouts": 5.29,
      "adjusted_projected_strikeouts": 5.12,
      "skill_score": 19.0,
      "opportunity_score": 65.5,
      "opponent_weakness_score": 27.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 18.9,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5543,
      "model_under_probability": 0.4457,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5726,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.546,
      "implied_under_probability_novig": 0.454,
      "edge_over": -0.0183,
      "edge_under": -0.0305,
      "recommended_side": "No Play",
      "recommended_edge": -0.0183,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 37.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.94,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Randy V\u00e1squez",
      "pitcher_id": 681190,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:16.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -102,
      "under_odds": -120,
      "expected_strikeouts": 3.61,
      "baseline_projected_strikeouts": 3.78,
      "adjusted_projected_strikeouts": 3.61,
      "skill_score": 8.4,
      "opportunity_score": 41.6,
      "opponent_weakness_score": 26.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 49.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4738,
      "model_under_probability": 0.5262,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.505,
      "implied_under_probability_raw": 0.5455,
      "implied_over_probability_novig": 0.4807,
      "implied_under_probability_novig": 0.5193,
      "edge_over": -0.0312,
      "edge_under": -0.0193,
      "recommended_side": "No Play",
      "recommended_edge": -0.0193,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 16.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18198.0,
      "lineup_expected_strikeouts": 3.59,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 6.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SF",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:06:57.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -120,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 19.6,
      "opportunity_score": 54.8,
      "opponent_weakness_score": 44.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 29.4,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5455,
      "implied_over_probability_novig": 0.4899,
      "implied_under_probability_novig": 0.5101,
      "edge_over": -0.0463,
      "edge_under": -0.023,
      "recommended_side": "No Play",
      "recommended_edge": -0.023,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.082,
      "aggregate_matchup_score": 53.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.24,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 54.1,
      "wind_speed_mph": 12.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -112,
      "expected_strikeouts": 5.76,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.76,
      "skill_score": 29.0,
      "opportunity_score": 55.7,
      "opponent_weakness_score": 39.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.0,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4958,
      "model_under_probability": 0.5042,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5192,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.4957,
      "implied_under_probability_novig": 0.5043,
      "edge_over": -0.0234,
      "edge_under": -0.0241,
      "recommended_side": "No Play",
      "recommended_edge": -0.0234,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.983,
      "aggregate_matchup_score": 65.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.37,
      "environment_summary": "neutral",
      "temperature_f": 70.9,
      "wind_speed_mph": 4.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:24.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -112,
      "expected_strikeouts": 5.76,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.76,
      "skill_score": 29.0,
      "opportunity_score": 55.7,
      "opponent_weakness_score": 39.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.0,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4958,
      "model_under_probability": 0.5042,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5192,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.4957,
      "implied_under_probability_novig": 0.5043,
      "edge_over": -0.0234,
      "edge_under": -0.0241,
      "recommended_side": "No Play",
      "recommended_edge": -0.0234,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.983,
      "aggregate_matchup_score": 65.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.37,
      "environment_summary": "neutral",
      "temperature_f": 70.9,
      "wind_speed_mph": 4.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Randy V\u00e1squez",
      "pitcher_id": 681190,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:19.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -104,
      "under_odds": -123,
      "expected_strikeouts": 3.61,
      "baseline_projected_strikeouts": 3.78,
      "adjusted_projected_strikeouts": 3.61,
      "skill_score": 8.4,
      "opportunity_score": 41.6,
      "opponent_weakness_score": 26.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 49.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4738,
      "model_under_probability": 0.5262,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5098,
      "implied_under_probability_raw": 0.5516,
      "implied_over_probability_novig": 0.4803,
      "implied_under_probability_novig": 0.5197,
      "edge_over": -0.036,
      "edge_under": -0.0254,
      "recommended_side": "No Play",
      "recommended_edge": -0.0254,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 16.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18198.0,
      "lineup_expected_strikeouts": 3.59,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 6.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TB",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:21.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -118,
      "expected_strikeouts": 5.76,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.76,
      "skill_score": 29.0,
      "opportunity_score": 55.7,
      "opponent_weakness_score": 39.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.0,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4958,
      "model_under_probability": 0.5042,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5413,
      "implied_over_probability_novig": 0.4918,
      "implied_under_probability_novig": 0.5082,
      "edge_over": -0.028,
      "edge_under": -0.0371,
      "recommended_side": "No Play",
      "recommended_edge": -0.028,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.983,
      "aggregate_matchup_score": 65.7,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.37,
      "environment_summary": "neutral",
      "temperature_f": 70.9,
      "wind_speed_mph": 4.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "NYY",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:35.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 5.12,
      "baseline_projected_strikeouts": 5.29,
      "adjusted_projected_strikeouts": 5.12,
      "skill_score": 19.0,
      "opportunity_score": 65.5,
      "opponent_weakness_score": 27.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 18.9,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5543,
      "model_under_probability": 0.4457,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5575,
      "implied_under_probability_novig": 0.4425,
      "edge_over": -0.0457,
      "edge_under": -0.0305,
      "recommended_side": "No Play",
      "recommended_edge": -0.0305,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 37.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.94,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "NYY",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-25T16:07:16.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -141,
      "under_odds": 110,
      "expected_strikeouts": 5.12,
      "baseline_projected_strikeouts": 5.29,
      "adjusted_projected_strikeouts": 5.12,
      "skill_score": 19.0,
      "opportunity_score": 65.5,
      "opponent_weakness_score": 27.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 18.9,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5543,
      "model_under_probability": 0.4457,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5851,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5513,
      "implied_under_probability_novig": 0.4487,
      "edge_over": -0.0308,
      "edge_under": -0.0305,
      "recommended_side": "No Play",
      "recommended_edge": -0.0305,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 37.9,
      "lineup_confidence": "confirmed",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.94,
      "environment_summary": "neutral",
      "temperature_f": 82.0,
      "wind_speed_mph": 9.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "MIN",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "MIN",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jesus Luzardo",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": "NYM",
      "opponent_abbr": "CIN",
      "sportsbook": "BetMGM",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": "NYM",
      "opponent_abbr": "CIN",
      "sportsbook": "DraftKings",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": "NYM",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Randy Vasquez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": "TB",
      "opponent_abbr": "BAL",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": "TB",
      "opponent_abbr": "BAL",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": "TB",
      "opponent_abbr": "BAL",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": "HOU",
      "opponent_abbr": "TEX",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": "HOU",
      "opponent_abbr": "TEX",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": "HOU",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Trey Yesavage",
      "team_abbr": "TOR",
      "opponent_abbr": "MIA",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Trey Yesavage",
      "team_abbr": "TOR",
      "opponent_abbr": "MIA",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Trey Yesavage",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Trey Yesavage",
      "team_abbr": "TOR",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}