{
  "date": "2026-04-22",
  "generated_at": "2026-04-22T14:50:51.410945",
  "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-04-22",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 66,
    "matched_count": 44,
    "unmatched_count": 22
  },
  "assumptions": {
    "methodology": "Sportsbook strikeout lines are matched against the saved Mithrandir strikeout props artifact. Model over, under, and push probabilities are derived from the existing matchup-adjusted strikeout distribution. Raw implied probabilities are calculated directly from American odds, and optional no-vig implied probabilities are computed by renormalizing both sides when both odds are present.",
    "distribution": {
      "name": "negative_binomial_style",
      "alpha": 0.0619,
      "whole_line_handling": "Over = P(K >= line + 1), Under = P(K <= line - 1), Push = P(K = line).",
      "half_line_handling": "Over = P(K >= ceil(line)), Under = 1 - Over, Push = 0."
    },
    "recommendation_thresholds": {
      "no_play_edge_threshold": 0.015,
      "lean_edge_threshold": 0.03,
      "strong_edge_threshold": 0.05
    }
  },
  "summary": {
    "raw_row_count": 44,
    "grouped_pitcher_count": 14,
    "sportsbook_count": 3
  },
  "edge_count": 44,
  "edges": [
    {
      "pitcher_name": "Jack Leiter",
      "pitcher_id": 683004,
      "team_abbr": "TEX",
      "opponent_abbr": "PIT",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:08.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 105,
      "expected_strikeouts": 5.13,
      "baseline_projected_strikeouts": 5.29,
      "adjusted_projected_strikeouts": 5.13,
      "skill_score": 56.3,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 27.6,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4028,
      "model_under_probability": 0.5972,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4878,
      "implied_over_probability_novig": 0.5446,
      "implied_under_probability_novig": 0.4554,
      "edge_over": -0.1805,
      "edge_under": 0.1094,
      "recommended_side": "Under",
      "recommended_edge": 0.1094,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.97,
      "aggregate_matchup_score": 37.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.98,
      "environment_summary": "neutral",
      "temperature_f": 69.4,
      "wind_speed_mph": 8.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Leiter",
      "pitcher_id": 683004,
      "team_abbr": "TEX",
      "opponent_abbr": "PIT",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:30.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -132,
      "under_odds": 104,
      "expected_strikeouts": 5.13,
      "baseline_projected_strikeouts": 5.29,
      "adjusted_projected_strikeouts": 5.13,
      "skill_score": 56.3,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 27.6,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4028,
      "model_under_probability": 0.5972,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.569,
      "implied_under_probability_raw": 0.4902,
      "implied_over_probability_novig": 0.5372,
      "implied_under_probability_novig": 0.4628,
      "edge_over": -0.1662,
      "edge_under": 0.107,
      "recommended_side": "Under",
      "recommended_edge": 0.107,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.97,
      "aggregate_matchup_score": 37.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.98,
      "environment_summary": "neutral",
      "temperature_f": 69.4,
      "wind_speed_mph": 8.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eric Lauer",
      "pitcher_id": 641778,
      "team_abbr": "TOR",
      "opponent_abbr": "LAA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:45.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 4.32,
      "baseline_projected_strikeouts": 3.89,
      "adjusted_projected_strikeouts": 4.32,
      "skill_score": 5.9,
      "opportunity_score": 28.6,
      "opponent_weakness_score": 40.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 88.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.4257,
      "model_under_probability": 0.5743,
      "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.1743,
      "edge_under": 0.0981,
      "recommended_side": "Under",
      "recommended_edge": 0.0981,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.43,
      "adjustment_multiplier": 1.109,
      "aggregate_matchup_score": 46.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8411.0,
      "lineup_expected_strikeouts": 5.14,
      "environment_summary": "neutral",
      "temperature_f": 65.5,
      "wind_speed_mph": 7.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zack Littell",
      "pitcher_id": 641793,
      "team_abbr": "WSH",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -104,
      "under_odds": -128,
      "expected_strikeouts": 4.31,
      "baseline_projected_strikeouts": 4.39,
      "adjusted_projected_strikeouts": 4.31,
      "skill_score": 13.0,
      "opportunity_score": 20.0,
      "opponent_weakness_score": 28.4,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 81.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.5971,
      "model_under_probability": 0.4029,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5098,
      "implied_under_probability_raw": 0.5614,
      "implied_over_probability_novig": 0.4759,
      "implied_under_probability_novig": 0.5241,
      "edge_over": 0.0873,
      "edge_under": -0.1585,
      "recommended_side": "Over",
      "recommended_edge": 0.0873,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.08,
      "adjustment_multiplier": 0.981,
      "aggregate_matchup_score": 30.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26904.0,
      "lineup_expected_strikeouts": 4.35,
      "environment_summary": "neutral",
      "temperature_f": 60.8,
      "wind_speed_mph": 4.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Civale",
      "pitcher_id": 650644,
      "team_abbr": "ATH",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:51.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -146,
      "under_odds": 110,
      "expected_strikeouts": 4.41,
      "baseline_projected_strikeouts": 4.11,
      "adjusted_projected_strikeouts": 4.41,
      "skill_score": 12.4,
      "opportunity_score": 36.1,
      "opponent_weakness_score": 37.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 57.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4409,
      "model_under_probability": 0.5591,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5935,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5548,
      "implied_under_probability_novig": 0.4452,
      "edge_over": -0.1526,
      "edge_under": 0.0829,
      "recommended_side": "Under",
      "recommended_edge": 0.0829,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.073,
      "aggregate_matchup_score": 38.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24505.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Civale",
      "pitcher_id": 650644,
      "team_abbr": "ATH",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -146,
      "under_odds": 110,
      "expected_strikeouts": 4.41,
      "baseline_projected_strikeouts": 4.11,
      "adjusted_projected_strikeouts": 4.41,
      "skill_score": 12.4,
      "opportunity_score": 36.1,
      "opponent_weakness_score": 37.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 57.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4409,
      "model_under_probability": 0.5591,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5935,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5548,
      "implied_under_probability_novig": 0.4452,
      "edge_over": -0.1526,
      "edge_under": 0.0829,
      "recommended_side": "Under",
      "recommended_edge": 0.0829,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.073,
      "aggregate_matchup_score": 38.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24505.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eric Lauer",
      "pitcher_id": 641778,
      "team_abbr": "TOR",
      "opponent_abbr": "LAA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:34:11.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -128,
      "under_odds": 100,
      "expected_strikeouts": 4.32,
      "baseline_projected_strikeouts": 3.89,
      "adjusted_projected_strikeouts": 4.32,
      "skill_score": 5.9,
      "opportunity_score": 28.6,
      "opponent_weakness_score": 40.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 88.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.4257,
      "model_under_probability": 0.5743,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5614,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5289,
      "implied_under_probability_novig": 0.4711,
      "edge_over": -0.1357,
      "edge_under": 0.0743,
      "recommended_side": "Under",
      "recommended_edge": 0.0743,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.43,
      "adjustment_multiplier": 1.109,
      "aggregate_matchup_score": 46.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8411.0,
      "lineup_expected_strikeouts": 5.14,
      "environment_summary": "neutral",
      "temperature_f": 65.5,
      "wind_speed_mph": 7.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Leiter",
      "pitcher_id": 683004,
      "team_abbr": "TEX",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:44.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 5.13,
      "baseline_projected_strikeouts": 5.29,
      "adjusted_projected_strikeouts": 5.13,
      "skill_score": 56.3,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 27.6,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4028,
      "model_under_probability": 0.5972,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.1385,
      "edge_under": 0.0689,
      "recommended_side": "Under",
      "recommended_edge": 0.0689,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.97,
      "aggregate_matchup_score": 37.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.98,
      "environment_summary": "neutral",
      "temperature_f": 69.4,
      "wind_speed_mph": 8.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "SF",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:08.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -105,
      "expected_strikeouts": 4.3,
      "baseline_projected_strikeouts": 4.45,
      "adjusted_projected_strikeouts": 4.3,
      "skill_score": 24.6,
      "opportunity_score": 44.6,
      "opponent_weakness_score": 26.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4222,
      "model_under_probability": 0.5778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5556,
      "implied_under_probability_raw": 0.5122,
      "implied_over_probability_novig": 0.5203,
      "implied_under_probability_novig": 0.4797,
      "edge_over": -0.1334,
      "edge_under": 0.0656,
      "recommended_side": "Under",
      "recommended_edge": 0.0656,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 29.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.24,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 52.0,
      "wind_speed_mph": 4.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Civale",
      "pitcher_id": 650644,
      "team_abbr": "ATH",
      "opponent_abbr": "SEA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:49.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -129,
      "under_odds": 101,
      "expected_strikeouts": 4.41,
      "baseline_projected_strikeouts": 4.11,
      "adjusted_projected_strikeouts": 4.41,
      "skill_score": 12.4,
      "opportunity_score": 36.1,
      "opponent_weakness_score": 37.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 57.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4409,
      "model_under_probability": 0.5591,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5633,
      "implied_under_probability_raw": 0.4975,
      "implied_over_probability_novig": 0.531,
      "implied_under_probability_novig": 0.469,
      "edge_over": -0.1224,
      "edge_under": 0.0616,
      "recommended_side": "Under",
      "recommended_edge": 0.0616,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.073,
      "aggregate_matchup_score": 38.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24505.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tomoyuki Sugano",
      "pitcher_id": 608372,
      "team_abbr": "COL",
      "opponent_abbr": "SD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:33:51.000Z",
      "line": 2.5,
      "line_type": "half",
      "over_odds": -165,
      "under_odds": 125,
      "expected_strikeouts": 3.61,
      "baseline_projected_strikeouts": 3.72,
      "adjusted_projected_strikeouts": 3.61,
      "skill_score": 7.6,
      "opportunity_score": 26.3,
      "opponent_weakness_score": 27.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.6703,
      "model_under_probability": 0.3297,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6226,
      "implied_under_probability_raw": 0.4444,
      "implied_over_probability_novig": 0.5835,
      "implied_under_probability_novig": 0.4165,
      "edge_over": 0.0477,
      "edge_under": -0.1147,
      "recommended_side": "Over",
      "recommended_edge": 0.0477,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.11,
      "adjustment_multiplier": 0.97,
      "aggregate_matchup_score": 22.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12825.0,
      "lineup_expected_strikeouts": 3.64,
      "environment_summary": "hitter-friendly",
      "temperature_f": 59.2,
      "wind_speed_mph": 8.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eric Lauer",
      "pitcher_id": 641778,
      "team_abbr": "TOR",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:42.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 4.32,
      "baseline_projected_strikeouts": 3.89,
      "adjusted_projected_strikeouts": 4.32,
      "skill_score": 5.9,
      "opportunity_score": 28.6,
      "opponent_weakness_score": 40.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 88.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.4257,
      "model_under_probability": 0.5743,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.1156,
      "edge_under": 0.046,
      "recommended_side": "Under",
      "recommended_edge": 0.046,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.43,
      "adjustment_multiplier": 1.109,
      "aggregate_matchup_score": 46.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8411.0,
      "lineup_expected_strikeouts": 5.14,
      "environment_summary": "neutral",
      "temperature_f": 65.5,
      "wind_speed_mph": 7.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eric Lauer",
      "pitcher_id": 641778,
      "team_abbr": "TOR",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 4.32,
      "baseline_projected_strikeouts": 3.89,
      "adjusted_projected_strikeouts": 4.32,
      "skill_score": 5.9,
      "opportunity_score": 28.6,
      "opponent_weakness_score": 40.9,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 88.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.4257,
      "model_under_probability": 0.5743,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.1156,
      "edge_under": 0.046,
      "recommended_side": "Under",
      "recommended_edge": 0.046,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.43,
      "adjustment_multiplier": 1.109,
      "aggregate_matchup_score": 46.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8411.0,
      "lineup_expected_strikeouts": 5.14,
      "environment_summary": "neutral",
      "temperature_f": 65.5,
      "wind_speed_mph": 7.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "SF",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:29.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -118,
      "expected_strikeouts": 4.3,
      "baseline_projected_strikeouts": 4.45,
      "adjusted_projected_strikeouts": 4.3,
      "skill_score": 24.6,
      "opportunity_score": 44.6,
      "opponent_weakness_score": 26.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4222,
      "model_under_probability": 0.5778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5192,
      "implied_under_probability_raw": 0.5413,
      "implied_over_probability_novig": 0.4896,
      "implied_under_probability_novig": 0.5104,
      "edge_over": -0.097,
      "edge_under": 0.0365,
      "recommended_side": "Under",
      "recommended_edge": 0.0365,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 29.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.24,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 52.0,
      "wind_speed_mph": 4.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tomoyuki Sugano",
      "pitcher_id": 608372,
      "team_abbr": "COL",
      "opponent_abbr": "SD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:37.000Z",
      "line": 2.5,
      "line_type": "half",
      "over_odds": -174,
      "under_odds": 136,
      "expected_strikeouts": 3.61,
      "baseline_projected_strikeouts": 3.72,
      "adjusted_projected_strikeouts": 3.61,
      "skill_score": 7.6,
      "opportunity_score": 26.3,
      "opponent_weakness_score": 27.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.6703,
      "model_under_probability": 0.3297,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.635,
      "implied_under_probability_raw": 0.4237,
      "implied_over_probability_novig": 0.5998,
      "implied_under_probability_novig": 0.4002,
      "edge_over": 0.0353,
      "edge_under": -0.094,
      "recommended_side": "Over",
      "recommended_edge": 0.0353,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.11,
      "adjustment_multiplier": 0.97,
      "aggregate_matchup_score": 22.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12825.0,
      "lineup_expected_strikeouts": 3.64,
      "environment_summary": "hitter-friendly",
      "temperature_f": 59.2,
      "wind_speed_mph": 8.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tomoyuki Sugano",
      "pitcher_id": 608372,
      "team_abbr": "COL",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:17.000Z",
      "line": 2.5,
      "line_type": "half",
      "over_odds": -182,
      "under_odds": 136,
      "expected_strikeouts": 3.61,
      "baseline_projected_strikeouts": 3.72,
      "adjusted_projected_strikeouts": 3.61,
      "skill_score": 7.6,
      "opportunity_score": 26.3,
      "opponent_weakness_score": 27.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.6703,
      "model_under_probability": 0.3297,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6454,
      "implied_under_probability_raw": 0.4237,
      "implied_over_probability_novig": 0.6037,
      "implied_under_probability_novig": 0.3963,
      "edge_over": 0.0249,
      "edge_under": -0.094,
      "recommended_side": "Over",
      "recommended_edge": 0.0249,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.11,
      "adjustment_multiplier": 0.97,
      "aggregate_matchup_score": 22.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12825.0,
      "lineup_expected_strikeouts": 3.64,
      "environment_summary": "hitter-friendly",
      "temperature_f": 59.2,
      "wind_speed_mph": 8.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Civale",
      "pitcher_id": 650644,
      "team_abbr": "ATH",
      "opponent_abbr": "SEA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:51.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -115,
      "expected_strikeouts": 4.41,
      "baseline_projected_strikeouts": 4.11,
      "adjusted_projected_strikeouts": 4.41,
      "skill_score": 12.4,
      "opportunity_score": 36.1,
      "opponent_weakness_score": 37.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 57.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4409,
      "model_under_probability": 0.5591,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5349,
      "implied_under_probability_raw": 0.5349,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.094,
      "edge_under": 0.0242,
      "recommended_side": "Under",
      "recommended_edge": 0.0242,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.073,
      "aggregate_matchup_score": 38.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24505.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Casey Mize",
      "pitcher_id": 663554,
      "team_abbr": "DET",
      "opponent_abbr": "MIL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:25.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -159,
      "under_odds": 125,
      "expected_strikeouts": 5.0,
      "baseline_projected_strikeouts": 5.45,
      "adjusted_projected_strikeouts": 5.0,
      "skill_score": 49.7,
      "opportunity_score": 47.8,
      "opponent_weakness_score": 25.8,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 41.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.5361,
      "model_under_probability": 0.4639,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6139,
      "implied_under_probability_raw": 0.4444,
      "implied_over_probability_novig": 0.5801,
      "implied_under_probability_novig": 0.4199,
      "edge_over": -0.0778,
      "edge_under": 0.0195,
      "recommended_side": "Under",
      "recommended_edge": 0.0195,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.45,
      "adjustment_multiplier": 0.917,
      "aggregate_matchup_score": 35.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18609.0,
      "lineup_expected_strikeouts": 4.33,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 58.8,
      "wind_speed_mph": 8.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Clay Holmes",
      "pitcher_id": 605280,
      "team_abbr": "NYM",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:10.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 4.48,
      "baseline_projected_strikeouts": 4.24,
      "adjusted_projected_strikeouts": 4.48,
      "skill_score": 21.0,
      "opportunity_score": 54.9,
      "opponent_weakness_score": 35.2,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4527,
      "model_under_probability": 0.5473,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.0886,
      "edge_under": 0.019,
      "recommended_side": "Under",
      "recommended_edge": 0.019,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.047,
      "aggregate_matchup_score": 35.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13465.0,
      "lineup_expected_strikeouts": 4.96,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 45.5,
      "wind_speed_mph": 2.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Clay Holmes",
      "pitcher_id": 605280,
      "team_abbr": "NYM",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 4.48,
      "baseline_projected_strikeouts": 4.24,
      "adjusted_projected_strikeouts": 4.48,
      "skill_score": 21.0,
      "opportunity_score": 54.9,
      "opponent_weakness_score": 35.2,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4527,
      "model_under_probability": 0.5473,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.0886,
      "edge_under": 0.019,
      "recommended_side": "Under",
      "recommended_edge": 0.019,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.047,
      "aggregate_matchup_score": 35.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13465.0,
      "lineup_expected_strikeouts": 4.96,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 45.5,
      "wind_speed_mph": 2.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "SF",
      "opponent_abbr": "LAD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:51.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -104,
      "under_odds": -128,
      "expected_strikeouts": 4.3,
      "baseline_projected_strikeouts": 4.45,
      "adjusted_projected_strikeouts": 4.3,
      "skill_score": 24.6,
      "opportunity_score": 44.6,
      "opponent_weakness_score": 26.9,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4222,
      "model_under_probability": 0.5778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5098,
      "implied_under_probability_raw": 0.5614,
      "implied_over_probability_novig": 0.4759,
      "implied_under_probability_novig": 0.5241,
      "edge_over": -0.0876,
      "edge_under": 0.0164,
      "recommended_side": "Under",
      "recommended_edge": 0.0164,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 29.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.24,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 52.0,
      "wind_speed_mph": 4.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Clay Holmes",
      "pitcher_id": 605280,
      "team_abbr": "NYM",
      "opponent_abbr": "MIN",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:40.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -112,
      "under_odds": -114,
      "expected_strikeouts": 4.48,
      "baseline_projected_strikeouts": 4.24,
      "adjusted_projected_strikeouts": 4.48,
      "skill_score": 21.0,
      "opportunity_score": 54.9,
      "opponent_weakness_score": 35.2,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4527,
      "model_under_probability": 0.5473,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5283,
      "implied_under_probability_raw": 0.5327,
      "implied_over_probability_novig": 0.4979,
      "implied_under_probability_novig": 0.5021,
      "edge_over": -0.0756,
      "edge_under": 0.0146,
      "recommended_side": "No Play",
      "recommended_edge": 0.0146,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.047,
      "aggregate_matchup_score": 35.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13465.0,
      "lineup_expected_strikeouts": 4.96,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 45.5,
      "wind_speed_mph": 2.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Max Fried",
      "pitcher_id": 608331,
      "team_abbr": "NYY",
      "opponent_abbr": "BOS",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:07.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -110,
      "expected_strikeouts": 5.53,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 5.53,
      "skill_score": 18.0,
      "opportunity_score": 74.8,
      "opponent_weakness_score": 46.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 11.8,
      "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.4626,
      "model_under_probability": 0.5374,
      "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.0829,
      "edge_under": 0.0136,
      "recommended_side": "No Play",
      "recommended_edge": 0.0136,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.071,
      "aggregate_matchup_score": 58.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30318.0,
      "lineup_expected_strikeouts": 6.04,
      "environment_summary": "neutral",
      "temperature_f": 42.6,
      "wind_speed_mph": 2.5,
      "wind_direction": "cross",
      "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": "CWS",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:32.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -127,
      "under_odds": 100,
      "expected_strikeouts": 4.69,
      "baseline_projected_strikeouts": 4.57,
      "adjusted_projected_strikeouts": 4.69,
      "skill_score": 8.2,
      "opportunity_score": 73.9,
      "opponent_weakness_score": 38.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": 15.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.4872,
      "model_under_probability": 0.5128,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5595,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5281,
      "implied_under_probability_novig": 0.4719,
      "edge_over": -0.0723,
      "edge_under": 0.0128,
      "recommended_side": "No Play",
      "recommended_edge": 0.0128,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 4.91,
      "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": "Clay Holmes",
      "pitcher_id": 605280,
      "team_abbr": "NYM",
      "opponent_abbr": "MIN",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:06.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -115,
      "expected_strikeouts": 4.48,
      "baseline_projected_strikeouts": 4.24,
      "adjusted_projected_strikeouts": 4.48,
      "skill_score": 21.0,
      "opportunity_score": 54.9,
      "opponent_weakness_score": 35.2,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 41.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4527,
      "model_under_probability": 0.5473,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5349,
      "implied_under_probability_raw": 0.5349,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.0822,
      "edge_under": 0.0124,
      "recommended_side": "No Play",
      "recommended_edge": 0.0124,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.047,
      "aggregate_matchup_score": 35.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13465.0,
      "lineup_expected_strikeouts": 4.96,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 45.5,
      "wind_speed_mph": 2.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Casey Mize",
      "pitcher_id": 663554,
      "team_abbr": "DET",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 118,
      "expected_strikeouts": 5.0,
      "baseline_projected_strikeouts": 5.45,
      "adjusted_projected_strikeouts": 5.0,
      "skill_score": 49.7,
      "opportunity_score": 47.8,
      "opponent_weakness_score": 25.8,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 41.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.5361,
      "model_under_probability": 0.4639,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5717,
      "implied_under_probability_novig": 0.4283,
      "edge_over": -0.0763,
      "edge_under": 0.0052,
      "recommended_side": "No Play",
      "recommended_edge": 0.0052,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.45,
      "adjustment_multiplier": 0.917,
      "aggregate_matchup_score": 35.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18609.0,
      "lineup_expected_strikeouts": 4.33,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 58.8,
      "wind_speed_mph": 8.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Logan Gilbert",
      "pitcher_id": 669302,
      "team_abbr": "SEA",
      "opponent_abbr": "ATH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:49.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -129,
      "under_odds": 101,
      "expected_strikeouts": 6.8,
      "baseline_projected_strikeouts": 6.8,
      "adjusted_projected_strikeouts": 6.8,
      "skill_score": 53.7,
      "opportunity_score": 50.8,
      "opponent_weakness_score": 44.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.4987,
      "model_under_probability": 0.5013,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5633,
      "implied_under_probability_raw": 0.4975,
      "implied_over_probability_novig": 0.531,
      "implied_under_probability_novig": 0.469,
      "edge_over": -0.0646,
      "edge_under": 0.0038,
      "recommended_side": "No Play",
      "recommended_edge": 0.0038,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 74.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31714.0,
      "lineup_expected_strikeouts": 6.43,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Casey Mize",
      "pitcher_id": 663554,
      "team_abbr": "DET",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:06.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -154,
      "under_odds": 116,
      "expected_strikeouts": 5.0,
      "baseline_projected_strikeouts": 5.45,
      "adjusted_projected_strikeouts": 5.0,
      "skill_score": 49.7,
      "opportunity_score": 47.8,
      "opponent_weakness_score": 25.8,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 41.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.5361,
      "model_under_probability": 0.4639,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6063,
      "implied_under_probability_raw": 0.463,
      "implied_over_probability_novig": 0.567,
      "implied_under_probability_novig": 0.433,
      "edge_over": -0.0702,
      "edge_under": 0.0009,
      "recommended_side": "No Play",
      "recommended_edge": 0.0009,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.45,
      "adjustment_multiplier": 0.917,
      "aggregate_matchup_score": 35.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18609.0,
      "lineup_expected_strikeouts": 4.33,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 58.8,
      "wind_speed_mph": 8.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Logan Gilbert",
      "pitcher_id": 669302,
      "team_abbr": "SEA",
      "opponent_abbr": "ATH",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:51.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -135,
      "expected_strikeouts": 6.8,
      "baseline_projected_strikeouts": 6.8,
      "adjusted_projected_strikeouts": 6.8,
      "skill_score": 53.7,
      "opportunity_score": 50.8,
      "opponent_weakness_score": 44.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.4987,
      "model_under_probability": 0.5013,
      "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.0013,
      "edge_under": -0.0732,
      "recommended_side": "No Play",
      "recommended_edge": -0.0013,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 74.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31714.0,
      "lineup_expected_strikeouts": 6.43,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "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": "TOR",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:34:11.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -103,
      "under_odds": -124,
      "expected_strikeouts": 5.77,
      "baseline_projected_strikeouts": 6.24,
      "adjusted_projected_strikeouts": 5.77,
      "skill_score": 67.8,
      "opportunity_score": 65.3,
      "opponent_weakness_score": 26.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.6,
      "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.4972,
      "model_under_probability": 0.5028,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5074,
      "implied_under_probability_raw": 0.5536,
      "implied_over_probability_novig": 0.4782,
      "implied_under_probability_novig": 0.5218,
      "edge_over": -0.0102,
      "edge_under": -0.0508,
      "recommended_side": "No Play",
      "recommended_edge": -0.0102,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.47,
      "adjustment_multiplier": 0.924,
      "aggregate_matchup_score": 37.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 5.06,
      "environment_summary": "neutral",
      "temperature_f": 65.5,
      "wind_speed_mph": 7.5,
      "wind_direction": "cross",
      "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": "CWS",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:07.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -110,
      "expected_strikeouts": 4.69,
      "baseline_projected_strikeouts": 4.57,
      "adjusted_projected_strikeouts": 4.69,
      "skill_score": 8.2,
      "opportunity_score": 73.9,
      "opponent_weakness_score": 38.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": 15.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.4872,
      "model_under_probability": 0.5128,
      "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.0583,
      "edge_under": -0.011,
      "recommended_side": "No Play",
      "recommended_edge": -0.011,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 4.91,
      "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": "Matthew Boyd",
      "pitcher_id": 571510,
      "team_abbr": "CHC",
      "opponent_abbr": "PHI",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:32.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 127,
      "under_odds": -163,
      "expected_strikeouts": 5.3,
      "baseline_projected_strikeouts": 5.31,
      "adjusted_projected_strikeouts": 5.3,
      "skill_score": 80.8,
      "opportunity_score": 25.1,
      "opponent_weakness_score": 34.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 96.9,
      "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.4285,
      "model_under_probability": 0.5715,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4405,
      "implied_under_probability_raw": 0.6198,
      "implied_over_probability_novig": 0.4154,
      "implied_under_probability_novig": 0.5846,
      "edge_over": -0.012,
      "edge_under": -0.0483,
      "recommended_side": "No Play",
      "recommended_edge": -0.012,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.989,
      "aggregate_matchup_score": 50.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19940.0,
      "lineup_expected_strikeouts": 5.13,
      "environment_summary": "neutral",
      "temperature_f": 44.8,
      "wind_speed_mph": 5.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Casey Mize",
      "pitcher_id": 663554,
      "team_abbr": "DET",
      "opponent_abbr": "MIL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:03.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 5.0,
      "baseline_projected_strikeouts": 5.45,
      "adjusted_projected_strikeouts": 5.0,
      "skill_score": 49.7,
      "opportunity_score": 47.8,
      "opponent_weakness_score": 25.8,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 41.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.5361,
      "model_under_probability": 0.4639,
      "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.0639,
      "edge_under": -0.0123,
      "recommended_side": "No Play",
      "recommended_edge": -0.0123,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.45,
      "adjustment_multiplier": 0.917,
      "aggregate_matchup_score": 35.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18609.0,
      "lineup_expected_strikeouts": 4.33,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 58.8,
      "wind_speed_mph": 8.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Logan Gilbert",
      "pitcher_id": 669302,
      "team_abbr": "SEA",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -106,
      "expected_strikeouts": 6.8,
      "baseline_projected_strikeouts": 6.8,
      "adjusted_projected_strikeouts": 6.8,
      "skill_score": 53.7,
      "opportunity_score": 50.8,
      "opponent_weakness_score": 44.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.4987,
      "model_under_probability": 0.5013,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5556,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5192,
      "implied_under_probability_novig": 0.4808,
      "edge_over": -0.0569,
      "edge_under": -0.0133,
      "recommended_side": "No Play",
      "recommended_edge": -0.0133,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 74.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31714.0,
      "lineup_expected_strikeouts": 6.43,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ranger Suarez",
      "pitcher_id": 624133,
      "team_abbr": "BOS",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 130,
      "under_odds": -174,
      "expected_strikeouts": 5.25,
      "baseline_projected_strikeouts": 4.93,
      "adjusted_projected_strikeouts": 5.25,
      "skill_score": 8.8,
      "opportunity_score": 33.4,
      "opponent_weakness_score": 40.2,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 61.3,
      "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.421,
      "model_under_probability": 0.579,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4348,
      "implied_under_probability_raw": 0.635,
      "implied_over_probability_novig": 0.4064,
      "implied_under_probability_novig": 0.5936,
      "edge_over": -0.0138,
      "edge_under": -0.056,
      "recommended_side": "No Play",
      "recommended_edge": -0.0138,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.32,
      "adjustment_multiplier": 1.054,
      "aggregate_matchup_score": 46.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.73,
      "environment_summary": "neutral",
      "temperature_f": 42.6,
      "wind_speed_mph": 2.5,
      "wind_direction": "cross",
      "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": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:05.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 4.69,
      "baseline_projected_strikeouts": 4.57,
      "adjusted_projected_strikeouts": 4.69,
      "skill_score": 8.2,
      "opportunity_score": 73.9,
      "opponent_weakness_score": 38.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": 15.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.4872,
      "model_under_probability": 0.5128,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.0541,
      "edge_under": -0.0155,
      "recommended_side": "No Play",
      "recommended_edge": -0.0155,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 4.91,
      "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": "Logan Gilbert",
      "pitcher_id": 669302,
      "team_abbr": "SEA",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:51.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -108,
      "expected_strikeouts": 6.8,
      "baseline_projected_strikeouts": 6.8,
      "adjusted_projected_strikeouts": 6.8,
      "skill_score": 53.7,
      "opportunity_score": 50.8,
      "opponent_weakness_score": 44.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.4987,
      "model_under_probability": 0.5013,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5495,
      "implied_under_probability_raw": 0.5192,
      "implied_over_probability_novig": 0.5142,
      "implied_under_probability_novig": 0.4858,
      "edge_over": -0.0508,
      "edge_under": -0.0179,
      "recommended_side": "No Play",
      "recommended_edge": -0.0179,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 1.0,
      "aggregate_matchup_score": 74.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31714.0,
      "lineup_expected_strikeouts": 6.43,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 9.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Max Fried",
      "pitcher_id": 608331,
      "team_abbr": "NYY",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:59.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -144,
      "expected_strikeouts": 5.53,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 5.53,
      "skill_score": 18.0,
      "opportunity_score": 74.8,
      "opponent_weakness_score": 46.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 11.8,
      "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.4626,
      "model_under_probability": 0.5374,
      "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.0182,
      "edge_under": -0.0528,
      "recommended_side": "No Play",
      "recommended_edge": -0.0182,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.071,
      "aggregate_matchup_score": 58.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30318.0,
      "lineup_expected_strikeouts": 6.04,
      "environment_summary": "neutral",
      "temperature_f": 42.6,
      "wind_speed_mph": 2.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Max Fried",
      "pitcher_id": 608331,
      "team_abbr": "NYY",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -144,
      "expected_strikeouts": 5.53,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 5.53,
      "skill_score": 18.0,
      "opportunity_score": 74.8,
      "opponent_weakness_score": 46.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 11.8,
      "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.4626,
      "model_under_probability": 0.5374,
      "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.0182,
      "edge_under": -0.0528,
      "recommended_side": "No Play",
      "recommended_edge": -0.0182,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.071,
      "aggregate_matchup_score": 58.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30318.0,
      "lineup_expected_strikeouts": 6.04,
      "environment_summary": "neutral",
      "temperature_f": 42.6,
      "wind_speed_mph": 2.5,
      "wind_direction": "cross",
      "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": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:42.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 5.77,
      "baseline_projected_strikeouts": 6.24,
      "adjusted_projected_strikeouts": 5.77,
      "skill_score": 67.8,
      "opportunity_score": 65.3,
      "opponent_weakness_score": 26.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.6,
      "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.4972,
      "model_under_probability": 0.5028,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.0441,
      "edge_under": -0.0255,
      "recommended_side": "No Play",
      "recommended_edge": -0.0255,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.47,
      "adjustment_multiplier": 0.924,
      "aggregate_matchup_score": 37.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 5.06,
      "environment_summary": "neutral",
      "temperature_f": 65.5,
      "wind_speed_mph": 7.5,
      "wind_direction": "cross",
      "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": "TOR",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:45.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -120,
      "expected_strikeouts": 5.77,
      "baseline_projected_strikeouts": 6.24,
      "adjusted_projected_strikeouts": 5.77,
      "skill_score": 67.8,
      "opportunity_score": 65.3,
      "opponent_weakness_score": 26.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.6,
      "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.4972,
      "model_under_probability": 0.5028,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5455,
      "implied_over_probability_novig": 0.4899,
      "implied_under_probability_novig": 0.5101,
      "edge_over": -0.0266,
      "edge_under": -0.0427,
      "recommended_side": "No Play",
      "recommended_edge": -0.0266,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.47,
      "adjustment_multiplier": 0.924,
      "aggregate_matchup_score": 37.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 5.06,
      "environment_summary": "neutral",
      "temperature_f": 65.5,
      "wind_speed_mph": 7.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Max Fried",
      "pitcher_id": 608331,
      "team_abbr": "NYY",
      "opponent_abbr": "BOS",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:34:03.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 102,
      "under_odds": -130,
      "expected_strikeouts": 5.53,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 5.53,
      "skill_score": 18.0,
      "opportunity_score": 74.8,
      "opponent_weakness_score": 46.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 11.8,
      "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.4626,
      "model_under_probability": 0.5374,
      "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.0324,
      "edge_under": -0.0278,
      "recommended_side": "No Play",
      "recommended_edge": -0.0278,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.42,
      "adjustment_multiplier": 1.071,
      "aggregate_matchup_score": 58.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30318.0,
      "lineup_expected_strikeouts": 6.04,
      "environment_summary": "neutral",
      "temperature_f": 42.6,
      "wind_speed_mph": 2.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Boyd",
      "pitcher_id": 571510,
      "team_abbr": "CHC",
      "opponent_abbr": "PHI",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:35:35.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -150,
      "expected_strikeouts": 5.3,
      "baseline_projected_strikeouts": 5.31,
      "adjusted_projected_strikeouts": 5.3,
      "skill_score": 80.8,
      "opportunity_score": 25.1,
      "opponent_weakness_score": 34.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 96.9,
      "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.4285,
      "model_under_probability": 0.5715,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.6,
      "implied_over_probability_novig": 0.4425,
      "implied_under_probability_novig": 0.5575,
      "edge_over": -0.0477,
      "edge_under": -0.0285,
      "recommended_side": "No Play",
      "recommended_edge": -0.0285,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.989,
      "aggregate_matchup_score": 50.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19940.0,
      "lineup_expected_strikeouts": 5.13,
      "environment_summary": "neutral",
      "temperature_f": 44.8,
      "wind_speed_mph": 5.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Boyd",
      "pitcher_id": 571510,
      "team_abbr": "CHC",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-22T18:36:10.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -154,
      "expected_strikeouts": 5.3,
      "baseline_projected_strikeouts": 5.31,
      "adjusted_projected_strikeouts": 5.3,
      "skill_score": 80.8,
      "opportunity_score": 25.1,
      "opponent_weakness_score": 34.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 96.9,
      "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.4285,
      "model_under_probability": 0.5715,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.6063,
      "implied_over_probability_novig": 0.433,
      "implied_under_probability_novig": 0.567,
      "edge_over": -0.0345,
      "edge_under": -0.0348,
      "recommended_side": "No Play",
      "recommended_edge": -0.0345,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.989,
      "aggregate_matchup_score": 50.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19940.0,
      "lineup_expected_strikeouts": 5.13,
      "environment_summary": "neutral",
      "temperature_f": 44.8,
      "wind_speed_mph": 5.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "ARI",
      "sportsbook": "BetMGM",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "ARI",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "ARI",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": "PIT",
      "opponent_abbr": "TEX",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": "PIT",
      "opponent_abbr": "TEX",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": "PIT",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chad Patrick",
      "team_abbr": "MIL",
      "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": "Chad Patrick",
      "team_abbr": "MIL",
      "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": "Chad Patrick",
      "team_abbr": "MIL",
      "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": "Connor Prielipp",
      "team_abbr": "MIN",
      "opponent_abbr": "NYM",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Connor Prielipp",
      "team_abbr": "MIN",
      "opponent_abbr": "NYM",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Didier Fuentes",
      "team_abbr": "ATL",
      "opponent_abbr": "WSH",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Didier Fuentes",
      "team_abbr": "ATL",
      "opponent_abbr": "WSH",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Didier Fuentes",
      "team_abbr": "ATL",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jose Soriano",
      "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": "Matt Boyd",
      "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": "Ranger Su\u00e1rez",
      "team_abbr": "BOS",
      "opponent_abbr": "NYY",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ranger Su\u00e1rez",
      "team_abbr": "BOS",
      "opponent_abbr": "NYY",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ranger Su\u00e1rez",
      "team_abbr": "BOS",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shohei Ohtani",
      "team_abbr": "LAD",
      "opponent_abbr": "SF",
      "sportsbook": "BetMGM",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shohei Ohtani",
      "team_abbr": "LAD",
      "opponent_abbr": "SF",
      "sportsbook": "DraftKings",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shohei Ohtani",
      "team_abbr": "LAD",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}