{
  "date": "2026-06-01",
  "generated_at": "2026-06-01T08:04:53.972044",
  "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-06-01",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 110,
    "matched_count": 67,
    "unmatched_count": 43
  },
  "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": 67,
    "grouped_pitcher_count": 11,
    "sportsbook_count": 3
  },
  "edge_count": 67,
  "edges": [
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:04.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -101,
      "under_odds": -127,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.2074,
      "model_under_probability": 0.7926,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5025,
      "implied_under_probability_raw": 0.5595,
      "implied_over_probability_novig": 0.4732,
      "implied_under_probability_novig": 0.5268,
      "edge_over": -0.2951,
      "edge_under": 0.2331,
      "recommended_side": "Under",
      "recommended_edge": 0.2331,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -130,
      "under_odds": -102,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.2633,
      "model_under_probability": 0.7367,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5652,
      "implied_under_probability_raw": 0.505,
      "implied_over_probability_novig": 0.5281,
      "implied_under_probability_novig": 0.4719,
      "edge_over": -0.3019,
      "edge_under": 0.2317,
      "recommended_side": "Under",
      "recommended_edge": 0.2317,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:48.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -130,
      "under_odds": -102,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.2633,
      "model_under_probability": 0.7367,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5652,
      "implied_under_probability_raw": 0.505,
      "implied_over_probability_novig": 0.5281,
      "implied_under_probability_novig": 0.4719,
      "edge_over": -0.3019,
      "edge_under": 0.2317,
      "recommended_side": "Under",
      "recommended_edge": 0.2317,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 102,
      "under_odds": -130,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.2074,
      "model_under_probability": 0.7926,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.495,
      "implied_under_probability_raw": 0.5652,
      "implied_over_probability_novig": 0.4669,
      "implied_under_probability_novig": 0.5331,
      "edge_over": -0.2876,
      "edge_under": 0.2274,
      "recommended_side": "Under",
      "recommended_edge": 0.2274,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:07.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 106,
      "under_odds": -130,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.2074,
      "model_under_probability": 0.7926,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4854,
      "implied_under_probability_raw": 0.5652,
      "implied_over_probability_novig": 0.462,
      "implied_under_probability_novig": 0.538,
      "edge_over": -0.278,
      "edge_under": 0.2274,
      "recommended_side": "Under",
      "recommended_edge": 0.2274,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "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": "MIL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:07.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -110,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.2633,
      "model_under_probability": 0.7367,
      "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.2822,
      "edge_under": 0.2129,
      "recommended_side": "Under",
      "recommended_edge": 0.2129,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:12.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.2074,
      "model_under_probability": 0.7926,
      "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.2804,
      "edge_under": 0.2093,
      "recommended_side": "Under",
      "recommended_edge": 0.2093,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Freeland",
      "pitcher_id": 607536,
      "team_abbr": "COL",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:17.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 128,
      "expected_strikeouts": 3.93,
      "baseline_projected_strikeouts": 3.67,
      "adjusted_projected_strikeouts": 3.93,
      "skill_score": 23.2,
      "opportunity_score": 39.3,
      "opponent_weakness_score": 35.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.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.3581,
      "model_under_probability": 0.6419,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4386,
      "implied_over_probability_novig": 0.5827,
      "implied_under_probability_novig": 0.4173,
      "edge_over": -0.2543,
      "edge_under": 0.2033,
      "recommended_side": "Under",
      "recommended_edge": 0.2033,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.072,
      "aggregate_matchup_score": 30.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26728.0,
      "lineup_expected_strikeouts": 4.6,
      "environment_summary": "neutral",
      "temperature_f": 61.0,
      "wind_speed_mph": 4.2,
      "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": "MIL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:33.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -111,
      "under_odds": -115,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.2633,
      "model_under_probability": 0.7367,
      "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.2628,
      "edge_under": 0.2018,
      "recommended_side": "Under",
      "recommended_edge": 0.2018,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Freeland",
      "pitcher_id": 607536,
      "team_abbr": "COL",
      "opponent_abbr": "LAA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:52.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -156,
      "under_odds": 122,
      "expected_strikeouts": 3.93,
      "baseline_projected_strikeouts": 3.67,
      "adjusted_projected_strikeouts": 3.93,
      "skill_score": 23.2,
      "opportunity_score": 39.3,
      "opponent_weakness_score": 35.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.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.3581,
      "model_under_probability": 0.6419,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6094,
      "implied_under_probability_raw": 0.4505,
      "implied_over_probability_novig": 0.575,
      "implied_under_probability_novig": 0.425,
      "edge_over": -0.2513,
      "edge_under": 0.1914,
      "recommended_side": "Under",
      "recommended_edge": 0.1914,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.072,
      "aggregate_matchup_score": 30.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26728.0,
      "lineup_expected_strikeouts": 4.6,
      "environment_summary": "neutral",
      "temperature_f": 61.0,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Freeland",
      "pitcher_id": 607536,
      "team_abbr": "COL",
      "opponent_abbr": "LAA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:23.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 3.93,
      "baseline_projected_strikeouts": 3.67,
      "adjusted_projected_strikeouts": 3.93,
      "skill_score": 23.2,
      "opportunity_score": 39.3,
      "opponent_weakness_score": 35.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.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.3581,
      "model_under_probability": 0.6419,
      "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.2497,
      "edge_under": 0.1768,
      "recommended_side": "Under",
      "recommended_edge": 0.1768,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.072,
      "aggregate_matchup_score": 30.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26728.0,
      "lineup_expected_strikeouts": 4.6,
      "environment_summary": "neutral",
      "temperature_f": 61.0,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jos\u00e9 Soriano",
      "pitcher_id": 667755,
      "team_abbr": "LAA",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:17.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -162,
      "under_odds": 132,
      "expected_strikeouts": 6.12,
      "baseline_projected_strikeouts": 5.93,
      "adjusted_projected_strikeouts": 6.12,
      "skill_score": 43.2,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 42.6,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 25.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.4087,
      "model_under_probability": 0.5913,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6183,
      "implied_under_probability_raw": 0.431,
      "implied_over_probability_novig": 0.5892,
      "implied_under_probability_novig": 0.4108,
      "edge_over": -0.2096,
      "edge_under": 0.1603,
      "recommended_side": "Under",
      "recommended_edge": 0.1603,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.033,
      "aggregate_matchup_score": 59.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 6.35,
      "environment_summary": "neutral",
      "temperature_f": 61.0,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emerson Hancock",
      "pitcher_id": 676106,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:00.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -153,
      "under_odds": 119,
      "expected_strikeouts": 4.09,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.09,
      "skill_score": 23.2,
      "opportunity_score": 62.0,
      "opponent_weakness_score": 26.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 33.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": "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.3861,
      "model_under_probability": 0.6139,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6047,
      "implied_under_probability_raw": 0.4566,
      "implied_over_probability_novig": 0.5698,
      "implied_under_probability_novig": 0.4302,
      "edge_over": -0.2186,
      "edge_under": 0.1573,
      "recommended_side": "Under",
      "recommended_edge": 0.1573,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.19,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 18.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11123.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 62.8,
      "wind_speed_mph": 4.0,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emerson Hancock",
      "pitcher_id": 676106,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:05.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 118,
      "expected_strikeouts": 4.09,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.09,
      "skill_score": 23.2,
      "opportunity_score": 62.0,
      "opponent_weakness_score": 26.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 33.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": "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.3861,
      "model_under_probability": 0.6139,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5627,
      "implied_under_probability_novig": 0.4373,
      "edge_over": -0.2041,
      "edge_under": 0.1552,
      "recommended_side": "Under",
      "recommended_edge": 0.1552,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.19,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 18.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11123.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 62.8,
      "wind_speed_mph": 4.0,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emerson Hancock",
      "pitcher_id": 676106,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:43.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 125,
      "under_odds": -165,
      "expected_strikeouts": 4.09,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.09,
      "skill_score": 23.2,
      "opportunity_score": 62.0,
      "opponent_weakness_score": 26.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 33.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": "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.2439,
      "model_under_probability": 0.7561,
      "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.2005,
      "edge_under": 0.1335,
      "recommended_side": "Under",
      "recommended_edge": 0.1335,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.19,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 18.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11123.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 62.8,
      "wind_speed_mph": 4.0,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jos\u00e9 Soriano",
      "pitcher_id": 667755,
      "team_abbr": "LAA",
      "opponent_abbr": "COL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:23.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 6.12,
      "baseline_projected_strikeouts": 5.93,
      "adjusted_projected_strikeouts": 6.12,
      "skill_score": 43.2,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 42.6,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 25.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.4087,
      "model_under_probability": 0.5913,
      "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.1991,
      "edge_under": 0.1262,
      "recommended_side": "Under",
      "recommended_edge": 0.1262,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.033,
      "aggregate_matchup_score": 59.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 6.35,
      "environment_summary": "neutral",
      "temperature_f": 61.0,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jos\u00e9 Soriano",
      "pitcher_id": 667755,
      "team_abbr": "LAA",
      "opponent_abbr": "COL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:52.000Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 111,
      "under_odds": -142,
      "expected_strikeouts": 6.12,
      "baseline_projected_strikeouts": 5.93,
      "adjusted_projected_strikeouts": 6.12,
      "skill_score": 43.2,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 42.6,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 25.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.2897,
      "model_under_probability": 0.7103,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4739,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.4468,
      "implied_under_probability_novig": 0.5532,
      "edge_over": -0.1842,
      "edge_under": 0.1235,
      "recommended_side": "Under",
      "recommended_edge": 0.1235,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.033,
      "aggregate_matchup_score": 59.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 6.35,
      "environment_summary": "neutral",
      "temperature_f": 61.0,
      "wind_speed_mph": 4.2,
      "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": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:47.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -122,
      "expected_strikeouts": 4.73,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.73,
      "skill_score": 58.1,
      "opportunity_score": 44.5,
      "opponent_weakness_score": 37.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 57.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.3414,
      "model_under_probability": 0.6586,
      "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.1586,
      "edge_under": 0.1091,
      "recommended_side": "Under",
      "recommended_edge": 0.1091,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.03,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 53.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 4.75,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 320,
      "under_odds": null,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.3445,
      "model_under_probability": 0.6555,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2381,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.1064,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.1064,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 154,
      "under_odds": null,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.4969,
      "model_under_probability": 0.5031,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3937,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.1032,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.1032,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "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": "AZ",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:26.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -105,
      "under_odds": -125,
      "expected_strikeouts": 4.73,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.73,
      "skill_score": 58.1,
      "opportunity_score": 44.5,
      "opponent_weakness_score": 37.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 57.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.3414,
      "model_under_probability": 0.6586,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5122,
      "implied_under_probability_raw": 0.5556,
      "implied_over_probability_novig": 0.4797,
      "implied_under_probability_novig": 0.5203,
      "edge_over": -0.1708,
      "edge_under": 0.103,
      "recommended_side": "Under",
      "recommended_edge": 0.103,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.03,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 53.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 4.75,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "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": "AZ",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:20.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -101,
      "under_odds": -126,
      "expected_strikeouts": 4.73,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.73,
      "skill_score": 58.1,
      "opportunity_score": 44.5,
      "opponent_weakness_score": 37.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 57.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.3414,
      "model_under_probability": 0.6586,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5025,
      "implied_under_probability_raw": 0.5575,
      "implied_over_probability_novig": 0.4741,
      "implied_under_probability_novig": 0.5259,
      "edge_over": -0.1611,
      "edge_under": 0.1011,
      "recommended_side": "Under",
      "recommended_edge": 0.1011,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.03,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 53.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 4.75,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 680,
      "under_odds": null,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.2224,
      "model_under_probability": 0.7776,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1282,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0942,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0942,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -144,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.329,
      "model_under_probability": 0.671,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": 0.5902,
      "implied_over_probability_novig": 0.4373,
      "implied_under_probability_novig": 0.5627,
      "edge_over": -0.1297,
      "edge_under": 0.0808,
      "recommended_side": "Under",
      "recommended_edge": 0.0808,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:58.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -144,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.329,
      "model_under_probability": 0.671,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4808,
      "implied_under_probability_raw": 0.5902,
      "implied_over_probability_novig": 0.4489,
      "implied_under_probability_novig": 0.5511,
      "edge_over": -0.1518,
      "edge_under": 0.0808,
      "recommended_side": "Under",
      "recommended_edge": 0.0808,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael McGreevy",
      "pitcher_id": 700241,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:07.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -116,
      "under_odds": -110,
      "expected_strikeouts": 3.25,
      "baseline_projected_strikeouts": 2.96,
      "adjusted_projected_strikeouts": 3.25,
      "skill_score": 16.2,
      "opportunity_score": 48.1,
      "opponent_weakness_score": 35.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": 49.8,
      "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.4031,
      "model_under_probability": 0.5969,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.537,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5062,
      "implied_under_probability_novig": 0.4938,
      "edge_over": -0.1339,
      "edge_under": 0.0731,
      "recommended_side": "Under",
      "recommended_edge": 0.0731,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.29,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 24.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8017.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael McGreevy",
      "pitcher_id": 700241,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -110,
      "expected_strikeouts": 3.25,
      "baseline_projected_strikeouts": 2.96,
      "adjusted_projected_strikeouts": 3.25,
      "skill_score": 16.2,
      "opportunity_score": 48.1,
      "opponent_weakness_score": 35.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": 49.8,
      "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.4031,
      "model_under_probability": 0.5969,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.1207,
      "edge_under": 0.0731,
      "recommended_side": "Under",
      "recommended_edge": 0.0731,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.29,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 24.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8017.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael McGreevy",
      "pitcher_id": 700241,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:58.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -110,
      "expected_strikeouts": 3.25,
      "baseline_projected_strikeouts": 2.96,
      "adjusted_projected_strikeouts": 3.25,
      "skill_score": 16.2,
      "opportunity_score": 48.1,
      "opponent_weakness_score": 35.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": 49.8,
      "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.4031,
      "model_under_probability": 0.5969,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.1207,
      "edge_under": 0.0731,
      "recommended_side": "Under",
      "recommended_edge": 0.0731,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.29,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 24.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8017.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T11:59:17.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.4641,
      "model_under_probability": 0.5359,
      "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.1437,
      "edge_under": 0.0708,
      "recommended_side": "Under",
      "recommended_edge": 0.0708,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:07.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 119,
      "under_odds": -152,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.329,
      "model_under_probability": 0.671,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4566,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4308,
      "implied_under_probability_novig": 0.5692,
      "edge_over": -0.1276,
      "edge_under": 0.0678,
      "recommended_side": "Under",
      "recommended_edge": 0.0678,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -160,
      "under_odds": 120,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.6633,
      "model_under_probability": 0.3367,
      "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.0479,
      "edge_under": -0.1178,
      "recommended_side": "Over",
      "recommended_edge": 0.0479,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:07.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -160,
      "under_odds": 120,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.6633,
      "model_under_probability": 0.3367,
      "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.0479,
      "edge_under": -0.1178,
      "recommended_side": "Over",
      "recommended_edge": 0.0479,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:04.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -161,
      "under_odds": 126,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.6633,
      "model_under_probability": 0.3367,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6169,
      "implied_under_probability_raw": 0.4425,
      "implied_over_probability_novig": 0.5823,
      "implied_under_probability_novig": 0.4177,
      "edge_over": 0.0464,
      "edge_under": -0.1058,
      "recommended_side": "Over",
      "recommended_edge": 0.0464,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eduardo Rodriguez",
      "pitcher_id": 593958,
      "team_abbr": "AZ",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:26.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -145,
      "under_odds": 105,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.39,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 6.6,
      "opportunity_score": 76.3,
      "opponent_weakness_score": 34.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 11.7,
      "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.6358,
      "model_under_probability": 0.3642,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5918,
      "implied_under_probability_raw": 0.4878,
      "implied_over_probability_novig": 0.5482,
      "implied_under_probability_novig": 0.4518,
      "edge_over": 0.044,
      "edge_under": -0.1236,
      "recommended_side": "Over",
      "recommended_edge": 0.044,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 34.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 5.03,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:12.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -160,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.4969,
      "model_under_probability": 0.5031,
      "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.0424,
      "edge_under": -0.1123,
      "recommended_side": "Over",
      "recommended_edge": 0.0424,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eduardo Rodriguez",
      "pitcher_id": 593958,
      "team_abbr": "AZ",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:20.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -152,
      "under_odds": 119,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.39,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 6.6,
      "opportunity_score": 76.3,
      "opponent_weakness_score": 34.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 11.7,
      "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.6358,
      "model_under_probability": 0.3642,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6032,
      "implied_under_probability_raw": 0.4566,
      "implied_over_probability_novig": 0.5692,
      "implied_under_probability_novig": 0.4308,
      "edge_over": 0.0326,
      "edge_under": -0.0924,
      "recommended_side": "Over",
      "recommended_edge": 0.0326,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 34.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 5.03,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eduardo Rodriguez",
      "pitcher_id": 593958,
      "team_abbr": "AZ",
      "opponent_abbr": "LAD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:47.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -152,
      "under_odds": 124,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.39,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 6.6,
      "opportunity_score": 76.3,
      "opponent_weakness_score": 34.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 11.7,
      "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.6358,
      "model_under_probability": 0.3642,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6032,
      "implied_under_probability_raw": 0.4464,
      "implied_over_probability_novig": 0.5747,
      "implied_under_probability_novig": 0.4253,
      "edge_over": 0.0326,
      "edge_under": -0.0822,
      "recommended_side": "Over",
      "recommended_edge": 0.0326,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 34.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 5.03,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 550,
      "under_odds": null,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.186,
      "model_under_probability": 0.814,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1538,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0322,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0322,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 130,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.5334,
      "model_under_probability": 0.4666,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4348,
      "implied_over_probability_novig": 0.5848,
      "implied_under_probability_novig": 0.4152,
      "edge_over": -0.079,
      "edge_under": 0.0318,
      "recommended_side": "Under",
      "recommended_edge": 0.0318,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:01:17.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 130,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.5334,
      "model_under_probability": 0.4666,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4348,
      "implied_over_probability_novig": 0.5848,
      "implied_under_probability_novig": 0.4152,
      "edge_over": -0.079,
      "edge_under": 0.0318,
      "recommended_side": "Under",
      "recommended_edge": 0.0318,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:36.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -163,
      "under_odds": 126,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.5334,
      "model_under_probability": 0.4666,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6198,
      "implied_under_probability_raw": 0.4425,
      "implied_over_probability_novig": 0.5835,
      "implied_under_probability_novig": 0.4165,
      "edge_over": -0.0864,
      "edge_under": 0.0241,
      "recommended_side": "Under",
      "recommended_edge": 0.0241,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael McGreevy",
      "pitcher_id": 700241,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T11:59:17.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -135,
      "expected_strikeouts": 3.25,
      "baseline_projected_strikeouts": 2.96,
      "adjusted_projected_strikeouts": 3.25,
      "skill_score": 16.2,
      "opportunity_score": 48.1,
      "opponent_weakness_score": 35.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": 49.8,
      "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.4031,
      "model_under_probability": 0.5969,
      "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.0969,
      "edge_under": 0.0224,
      "recommended_side": "Under",
      "recommended_edge": 0.0224,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.29,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 24.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8017.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 280,
      "under_odds": null,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.2786,
      "model_under_probability": 0.7214,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2632,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0154,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0154,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -440,
      "under_odds": null,
      "expected_strikeouts": 4.75,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.75,
      "skill_score": 9.5,
      "opportunity_score": 74.4,
      "opponent_weakness_score": 32.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": 20.5,
      "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.8162,
      "model_under_probability": 0.1838,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8148,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0014,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0014,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 41.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-06-01T12:00:57.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.5334,
      "model_under_probability": 0.4666,
      "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.0666,
      "edge_under": -0.0096,
      "recommended_side": "No Play",
      "recommended_edge": -0.0096,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 134,
      "under_odds": null,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.3965,
      "model_under_probability": 0.6035,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4274,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0309,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0309,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 450,
      "under_odds": null,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.1391,
      "model_under_probability": 0.8609,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1818,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0427,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0427,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael McGreevy",
      "pitcher_id": 700241,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 430,
      "under_odds": null,
      "expected_strikeouts": 3.25,
      "baseline_projected_strikeouts": 2.96,
      "adjusted_projected_strikeouts": 3.25,
      "skill_score": 16.2,
      "opportunity_score": 48.1,
      "opponent_weakness_score": 35.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": 49.8,
      "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.1292,
      "model_under_probability": 0.8708,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1887,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0595,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0595,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.29,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 24.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8017.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 700,
      "under_odds": null,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.0461,
      "model_under_probability": 0.9539,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.125,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0789,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0789,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 225,
      "under_odds": null,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.2198,
      "model_under_probability": 0.7802,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0879,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0879,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael McGreevy",
      "pitcher_id": 700241,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 205,
      "under_odds": null,
      "expected_strikeouts": 3.25,
      "baseline_projected_strikeouts": 2.96,
      "adjusted_projected_strikeouts": 3.25,
      "skill_score": 16.2,
      "opportunity_score": 48.1,
      "opponent_weakness_score": 35.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": 49.8,
      "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.2396,
      "model_under_probability": 0.7604,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3279,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0883,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0883,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.29,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 24.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8017.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 470,
      "under_odds": null,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.0605,
      "model_under_probability": 0.9395,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1754,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1149,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1149,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -400,
      "under_odds": null,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.6763,
      "model_under_probability": 0.3237,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1237,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1237,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -1400,
      "under_odds": null,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 6.04,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 52.9,
      "opportunity_score": 34.6,
      "opponent_weakness_score": 43.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 89.7,
      "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.8068,
      "model_under_probability": 0.1932,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1265,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1265,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 70.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 5.74,
      "environment_summary": "neutral",
      "temperature_f": 68.4,
      "wind_speed_mph": 1.8,
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 350,
      "under_odds": null,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.0878,
      "model_under_probability": 0.9122,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2222,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1344,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1344,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael McGreevy",
      "pitcher_id": 700241,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -310,
      "under_odds": null,
      "expected_strikeouts": 3.25,
      "baseline_projected_strikeouts": 2.96,
      "adjusted_projected_strikeouts": 3.25,
      "skill_score": 16.2,
      "opportunity_score": 48.1,
      "opponent_weakness_score": 35.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": 49.8,
      "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.607,
      "model_under_probability": 0.393,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7561,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1491,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1491,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.29,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 24.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8017.0,
      "lineup_expected_strikeouts": 4.05,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -1200,
      "under_odds": null,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.7599,
      "model_under_probability": 0.2401,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9231,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1632,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1632,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 225,
      "under_odds": null,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.1161,
      "model_under_probability": 0.8839,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1916,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1916,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -200,
      "under_odds": null,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.4641,
      "model_under_probability": 0.5359,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6667,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2026,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2026,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -450,
      "under_odds": null,
      "expected_strikeouts": 5.54,
      "baseline_projected_strikeouts": 5.21,
      "adjusted_projected_strikeouts": 5.54,
      "skill_score": 65.4,
      "opportunity_score": 42.3,
      "opponent_weakness_score": 51.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.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.6141,
      "model_under_probability": 0.3859,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8182,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2041,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2041,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.064,
      "aggregate_matchup_score": 74.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 5.86,
      "environment_summary": "neutral",
      "temperature_f": 72.7,
      "wind_speed_mph": 4.0,
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 168,
      "under_odds": null,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.1573,
      "model_under_probability": 0.8427,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3731,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2158,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2158,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -4000,
      "under_odds": null,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.7578,
      "model_under_probability": 0.2422,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9756,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2178,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2178,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -3000,
      "under_odds": null,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.7061,
      "model_under_probability": 0.2939,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9677,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2616,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2616,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -900,
      "under_odds": null,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.5825,
      "model_under_probability": 0.4175,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.3175,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.3175,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "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": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -310,
      "under_odds": null,
      "expected_strikeouts": 4.22,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.22,
      "skill_score": 39.1,
      "opportunity_score": 56.2,
      "opponent_weakness_score": 29.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.8,
      "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.4085,
      "model_under_probability": 0.5915,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7561,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.3476,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.3476,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.04,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.3,
      "environment_summary": "neutral",
      "temperature_f": 54.5,
      "wind_speed_mph": 2.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -650,
      "under_odds": null,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.5166,
      "model_under_probability": 0.4834,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8667,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.3501,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.3501,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -240,
      "under_odds": null,
      "expected_strikeouts": 3.84,
      "baseline_projected_strikeouts": 3.42,
      "adjusted_projected_strikeouts": 3.84,
      "skill_score": 40.3,
      "opportunity_score": 50.7,
      "opponent_weakness_score": 37.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 60.0,
      "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.3423,
      "model_under_probability": 0.6577,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7059,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.3636,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.3636,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.111,
      "aggregate_matchup_score": 39.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.78,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 10.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Chase Burns",
      "team_abbr": "CIN",
      "opponent_abbr": "KC",
      "sportsbook": "BetMGM",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chase Burns",
      "team_abbr": "CIN",
      "opponent_abbr": "KC",
      "sportsbook": "DraftKings",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chase Burns",
      "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": "Chase Burns",
      "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": "Chase Burns",
      "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": "Chase Burns",
      "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": "Chase Burns",
      "team_abbr": "CIN",
      "opponent_abbr": "KC",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chase Burns",
      "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": "Chase Burns",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 8.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chase Burns 10+ Strikeouts",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 9.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "team_abbr": "TB",
      "opponent_abbr": "DET",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "team_abbr": "TB",
      "opponent_abbr": "DET",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "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": "Griffin Jax",
      "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": "Griffin Jax",
      "team_abbr": "TB",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "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": "Griffin Jax",
      "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": "Griffin Jax",
      "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": "Luinder Avila",
      "team_abbr": "KC",
      "opponent_abbr": "CIN",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Luinder Avila",
      "team_abbr": "KC",
      "opponent_abbr": "CIN",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Luinder Avila",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Luinder Avila",
      "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": "Luinder Avila",
      "team_abbr": "KC",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Luinder Avila",
      "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": "Luinder Avila",
      "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": "Luinder Avila",
      "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 Drohan",
      "team_abbr": "MIL",
      "opponent_abbr": "SF",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane Drohan",
      "team_abbr": "MIL",
      "opponent_abbr": "SF",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane Drohan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane Drohan",
      "team_abbr": "MIL",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane Drohan",
      "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 Drohan",
      "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": "Shane Drohan",
      "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": "Shane Drohan",
      "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": "Ty Madden",
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ty Madden",
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ty Madden",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ty Madden",
      "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": "Ty Madden",
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ty Madden",
      "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": "Ty Madden",
      "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": "Ty Madden",
      "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."
    }
  ]
}