{
  "date": "2026-05-31",
  "generated_at": "2026-05-31T09:03:39.232621",
  "artifact_type": "strikeout_edges",
  "market_type": "pitcher_strikeouts",
  "model_version": "strikeout_edges_v1_overlay",
  "projection_model_version": "strikeout_props_v1_nb_overlay",
  "projection_date": "2026-05-31",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 257,
    "matched_count": 190,
    "unmatched_count": 67
  },
  "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": 190,
    "grouped_pitcher_count": 23,
    "sportsbook_count": 3
  },
  "edge_count": 190,
  "edges": [
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.1652,
      "model_under_probability": 0.8348,
      "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.3761,
      "edge_under": 0.3065,
      "recommended_side": "Under",
      "recommended_edge": 0.3065,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:36.000Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.1652,
      "model_under_probability": 0.8348,
      "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.3761,
      "edge_under": 0.3065,
      "recommended_side": "Under",
      "recommended_edge": 0.3065,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:17.000Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": -106,
      "under_odds": -121,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.1652,
      "model_under_probability": 0.8348,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5146,
      "implied_under_probability_raw": 0.5475,
      "implied_over_probability_novig": 0.4845,
      "implied_under_probability_novig": 0.5155,
      "edge_over": -0.3494,
      "edge_under": 0.2873,
      "recommended_side": "Under",
      "recommended_edge": 0.2873,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:18.000Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": -105,
      "under_odds": -125,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.1652,
      "model_under_probability": 0.8348,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5122,
      "implied_under_probability_raw": 0.5556,
      "implied_over_probability_novig": 0.4797,
      "implied_under_probability_novig": 0.5203,
      "edge_over": -0.347,
      "edge_under": 0.2792,
      "recommended_side": "Under",
      "recommended_edge": 0.2792,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:55:52.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3304,
      "model_under_probability": 0.6696,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6078,
      "implied_under_probability_raw": 0.4651,
      "implied_over_probability_novig": 0.5665,
      "implied_under_probability_novig": 0.4335,
      "edge_over": -0.2774,
      "edge_under": 0.2045,
      "recommended_side": "Under",
      "recommended_edge": 0.2045,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:42.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -120,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.2618,
      "model_under_probability": 0.7382,
      "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.262,
      "edge_under": 0.1927,
      "recommended_side": "Under",
      "recommended_edge": 0.1927,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:00.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -132,
      "under_odds": 104,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3304,
      "model_under_probability": 0.6696,
      "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.2386,
      "edge_under": 0.1794,
      "recommended_side": "Under",
      "recommended_edge": 0.1794,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:37.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 103,
      "under_odds": -132,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.2618,
      "model_under_probability": 0.7382,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4926,
      "implied_under_probability_raw": 0.569,
      "implied_over_probability_novig": 0.464,
      "implied_under_probability_novig": 0.536,
      "edge_over": -0.2308,
      "edge_under": 0.1692,
      "recommended_side": "Under",
      "recommended_edge": 0.1692,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -134,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.2618,
      "model_under_probability": 0.7382,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5726,
      "implied_over_probability_novig": 0.454,
      "implied_under_probability_novig": 0.546,
      "edge_over": -0.2144,
      "edge_under": 0.1656,
      "recommended_side": "Under",
      "recommended_edge": 0.1656,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:35.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -134,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.2618,
      "model_under_probability": 0.7382,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5726,
      "implied_over_probability_novig": 0.454,
      "implied_under_probability_novig": 0.546,
      "edge_over": -0.2144,
      "edge_under": 0.1656,
      "recommended_side": "Under",
      "recommended_edge": 0.1656,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:43.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -117,
      "under_odds": -109,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.3177,
      "model_under_probability": 0.6823,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5392,
      "implied_under_probability_raw": 0.5215,
      "implied_over_probability_novig": 0.5083,
      "implied_under_probability_novig": 0.4917,
      "edge_over": -0.2215,
      "edge_under": 0.1608,
      "recommended_side": "Under",
      "recommended_edge": 0.1608,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -110,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.3177,
      "model_under_probability": 0.6823,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.2061,
      "edge_under": 0.1585,
      "recommended_side": "Under",
      "recommended_edge": 0.1585,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:37.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -110,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.3177,
      "model_under_probability": 0.6823,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.2061,
      "edge_under": 0.1585,
      "recommended_side": "Under",
      "recommended_edge": 0.1585,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 320,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3937,
      "model_under_probability": 0.6063,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2381,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.1556,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.1556,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -108,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3304,
      "model_under_probability": 0.6696,
      "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.2191,
      "edge_under": 0.1504,
      "recommended_side": "Under",
      "recommended_edge": 0.1504,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:35.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -108,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3304,
      "model_under_probability": 0.6696,
      "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.2191,
      "edge_under": 0.1504,
      "recommended_side": "Under",
      "recommended_edge": 0.1504,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 148,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5468,
      "model_under_probability": 0.4532,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4032,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.1436,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.1436,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 680,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2647,
      "model_under_probability": 0.7353,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1282,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.1365,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.1365,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:17.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 113,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7058,
      "model_under_probability": 0.2942,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4695,
      "implied_over_probability_novig": 0.557,
      "implied_under_probability_novig": 0.443,
      "edge_over": 0.1156,
      "edge_under": -0.1753,
      "recommended_side": "Over",
      "recommended_edge": 0.1156,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:17.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 118,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7058,
      "model_under_probability": 0.2942,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5627,
      "implied_under_probability_novig": 0.4373,
      "edge_over": 0.1156,
      "edge_under": -0.1645,
      "recommended_side": "Over",
      "recommended_edge": 0.1156,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -172,
      "under_odds": 128,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.446,
      "model_under_probability": 0.554,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6324,
      "implied_under_probability_raw": 0.4386,
      "implied_over_probability_novig": 0.5905,
      "implied_under_probability_novig": 0.4095,
      "edge_over": -0.1864,
      "edge_under": 0.1154,
      "recommended_side": "Under",
      "recommended_edge": 0.1154,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:34.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -172,
      "under_odds": 128,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.446,
      "model_under_probability": 0.554,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6324,
      "implied_under_probability_raw": 0.4386,
      "implied_over_probability_novig": 0.5905,
      "implied_under_probability_novig": 0.4095,
      "edge_over": -0.1864,
      "edge_under": 0.1154,
      "recommended_side": "Under",
      "recommended_edge": 0.1154,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:14.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -159,
      "under_odds": 124,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.446,
      "model_under_probability": 0.554,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6139,
      "implied_under_probability_raw": 0.4464,
      "implied_over_probability_novig": 0.579,
      "implied_under_probability_novig": 0.421,
      "edge_over": -0.1679,
      "edge_under": 0.1076,
      "recommended_side": "Under",
      "recommended_edge": 0.1076,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Keider Montero",
      "pitcher_id": 672456,
      "team_abbr": "DET",
      "opponent_abbr": "CWS",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:42.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 105,
      "expected_strikeouts": 3.29,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.29,
      "skill_score": 4.3,
      "opportunity_score": 41.2,
      "opponent_weakness_score": 36.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": 52.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4112,
      "model_under_probability": 0.5888,
      "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.1721,
      "edge_under": 0.101,
      "recommended_side": "Under",
      "recommended_edge": 0.101,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9948.0,
      "lineup_expected_strikeouts": 3.75,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "NYM",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:05.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -135,
      "under_odds": 100,
      "expected_strikeouts": 3.23,
      "baseline_projected_strikeouts": 3.19,
      "adjusted_projected_strikeouts": 3.23,
      "skill_score": 2.4,
      "opportunity_score": 49.5,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 47.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3991,
      "model_under_probability": 0.6009,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5745,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5347,
      "implied_under_probability_novig": 0.4653,
      "edge_over": -0.1754,
      "edge_under": 0.1009,
      "recommended_side": "Under",
      "recommended_edge": 0.1009,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.04,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 20.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.52,
      "environment_summary": "neutral",
      "temperature_f": 76.5,
      "wind_speed_mph": 12.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:39.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -101,
      "under_odds": -127,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.3406,
      "model_under_probability": 0.6594,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5025,
      "implied_under_probability_raw": 0.5595,
      "implied_over_probability_novig": 0.4732,
      "implied_under_probability_novig": 0.5268,
      "edge_over": -0.1619,
      "edge_under": 0.0999,
      "recommended_side": "Under",
      "recommended_edge": 0.0999,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -154,
      "under_odds": 118,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7058,
      "model_under_probability": 0.2942,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6063,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5693,
      "implied_under_probability_novig": 0.4307,
      "edge_over": 0.0995,
      "edge_under": -0.1645,
      "recommended_side": "Over",
      "recommended_edge": 0.0995,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:01.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.3177,
      "model_under_probability": 0.6823,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": -0.1701,
      "edge_under": 0.099,
      "recommended_side": "Under",
      "recommended_edge": 0.099,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -102,
      "under_odds": -130,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.3406,
      "model_under_probability": 0.6594,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.505,
      "implied_under_probability_raw": 0.5652,
      "implied_over_probability_novig": 0.4719,
      "implied_under_probability_novig": 0.5281,
      "edge_over": -0.1644,
      "edge_under": 0.0942,
      "recommended_side": "Under",
      "recommended_edge": 0.0942,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:13.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -102,
      "under_odds": -130,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.3406,
      "model_under_probability": 0.6594,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.505,
      "implied_under_probability_raw": 0.5652,
      "implied_over_probability_novig": 0.4719,
      "implied_under_probability_novig": 0.5281,
      "edge_over": -0.1644,
      "edge_under": 0.0942,
      "recommended_side": "Under",
      "recommended_edge": 0.0942,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:56:48.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -160,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5468,
      "model_under_probability": 0.4532,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4545,
      "implied_under_probability_raw": 0.6154,
      "implied_over_probability_novig": 0.4248,
      "implied_under_probability_novig": 0.5752,
      "edge_over": 0.0923,
      "edge_under": -0.1622,
      "recommended_side": "Over",
      "recommended_edge": 0.0923,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Leiter",
      "pitcher_id": 683004,
      "team_abbr": "TEX",
      "opponent_abbr": "KC",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:40.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -120,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.363,
      "model_under_probability": 0.637,
      "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.1608,
      "edge_under": 0.0915,
      "recommended_side": "Under",
      "recommended_edge": 0.0915,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -138,
      "under_odds": 110,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.436,
      "model_under_probability": 0.564,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5798,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5491,
      "implied_under_probability_novig": 0.4509,
      "edge_over": -0.1438,
      "edge_under": 0.0878,
      "recommended_side": "Under",
      "recommended_edge": 0.0878,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:35.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -134,
      "under_odds": 110,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.436,
      "model_under_probability": 0.564,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5726,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.546,
      "implied_under_probability_novig": 0.454,
      "edge_over": -0.1366,
      "edge_under": 0.0878,
      "recommended_side": "Under",
      "recommended_edge": 0.0878,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "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": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 580,
      "under_odds": null,
      "expected_strikeouts": 4.02,
      "baseline_projected_strikeouts": 3.96,
      "adjusted_projected_strikeouts": 4.02,
      "skill_score": 10.3,
      "opportunity_score": 34.5,
      "opponent_weakness_score": 32.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 70.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.2335,
      "model_under_probability": 0.7665,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1471,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0864,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0864,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 35.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26904.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 490,
      "under_odds": null,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2506,
      "model_under_probability": 0.7494,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1695,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0811,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0811,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -162,
      "under_odds": 122,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.4693,
      "model_under_probability": 0.5307,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6183,
      "implied_under_probability_raw": 0.4505,
      "implied_over_probability_novig": 0.5785,
      "implied_under_probability_novig": 0.4215,
      "edge_over": -0.149,
      "edge_under": 0.0802,
      "recommended_side": "Under",
      "recommended_edge": 0.0802,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "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": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 240,
      "under_odds": null,
      "expected_strikeouts": 4.02,
      "baseline_projected_strikeouts": 3.96,
      "adjusted_projected_strikeouts": 4.02,
      "skill_score": 10.3,
      "opportunity_score": 34.5,
      "opponent_weakness_score": 32.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 70.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.3739,
      "model_under_probability": 0.6261,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2941,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0798,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0798,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 35.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26904.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:43.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -160,
      "under_odds": 120,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.4693,
      "model_under_probability": 0.5307,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6154,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5752,
      "implied_under_probability_novig": 0.4248,
      "edge_over": -0.1461,
      "edge_under": 0.0762,
      "recommended_side": "Under",
      "recommended_edge": 0.0762,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:04.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.3406,
      "model_under_probability": 0.6594,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": -0.1472,
      "edge_under": 0.0761,
      "recommended_side": "Under",
      "recommended_edge": 0.0761,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -470,
      "under_odds": null,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.8959,
      "model_under_probability": 0.1041,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8246,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0713,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0713,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 520,
      "under_odds": null,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2315,
      "model_under_probability": 0.7685,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1613,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0702,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0702,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:22.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -148,
      "under_odds": 116,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.4693,
      "model_under_probability": 0.5307,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5968,
      "implied_under_probability_raw": 0.463,
      "implied_over_probability_novig": 0.5631,
      "implied_under_probability_novig": 0.4369,
      "edge_over": -0.1275,
      "edge_under": 0.0677,
      "recommended_side": "Under",
      "recommended_edge": 0.0677,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "NYM",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:07.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -111,
      "under_odds": -115,
      "expected_strikeouts": 3.23,
      "baseline_projected_strikeouts": 3.19,
      "adjusted_projected_strikeouts": 3.23,
      "skill_score": 2.4,
      "opportunity_score": 49.5,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 47.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3991,
      "model_under_probability": 0.6009,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5261,
      "implied_under_probability_raw": 0.5349,
      "implied_over_probability_novig": 0.4959,
      "implied_under_probability_novig": 0.5041,
      "edge_over": -0.127,
      "edge_under": 0.066,
      "recommended_side": "Under",
      "recommended_edge": 0.066,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.04,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 20.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.52,
      "environment_summary": "neutral",
      "temperature_f": 76.5,
      "wind_speed_mph": 12.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Keider Montero",
      "pitcher_id": 672456,
      "team_abbr": "DET",
      "opponent_abbr": "CWS",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:37.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -116,
      "under_odds": -110,
      "expected_strikeouts": 3.29,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.29,
      "skill_score": 4.3,
      "opportunity_score": 41.2,
      "opponent_weakness_score": 36.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": 52.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4112,
      "model_under_probability": 0.5888,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.537,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5062,
      "implied_under_probability_novig": 0.4938,
      "edge_over": -0.1258,
      "edge_under": 0.065,
      "recommended_side": "Under",
      "recommended_edge": 0.065,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9948.0,
      "lineup_expected_strikeouts": 3.75,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Keider Montero",
      "pitcher_id": 672456,
      "team_abbr": "DET",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -110,
      "expected_strikeouts": 3.29,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.29,
      "skill_score": 4.3,
      "opportunity_score": 41.2,
      "opponent_weakness_score": 36.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": 52.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4112,
      "model_under_probability": 0.5888,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5495,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.512,
      "implied_under_probability_novig": 0.488,
      "edge_over": -0.1383,
      "edge_under": 0.065,
      "recommended_side": "Under",
      "recommended_edge": 0.065,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9948.0,
      "lineup_expected_strikeouts": 3.75,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Keider Montero",
      "pitcher_id": 672456,
      "team_abbr": "DET",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:35.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -110,
      "expected_strikeouts": 3.29,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.29,
      "skill_score": 4.3,
      "opportunity_score": 41.2,
      "opponent_weakness_score": 36.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": 52.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4112,
      "model_under_probability": 0.5888,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5495,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.512,
      "implied_under_probability_novig": 0.488,
      "edge_over": -0.1383,
      "edge_under": 0.065,
      "recommended_side": "Under",
      "recommended_edge": 0.065,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9948.0,
      "lineup_expected_strikeouts": 3.75,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "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": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:43.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -134,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.363,
      "model_under_probability": 0.637,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5726,
      "implied_over_probability_novig": 0.454,
      "implied_under_probability_novig": 0.546,
      "edge_over": -0.1132,
      "edge_under": 0.0644,
      "recommended_side": "Under",
      "recommended_edge": 0.0644,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 116,
      "expected_strikeouts": 4.6,
      "baseline_projected_strikeouts": 4.25,
      "adjusted_projected_strikeouts": 4.6,
      "skill_score": 22.1,
      "opportunity_score": 32.0,
      "opponent_weakness_score": 47.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 63.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.4726,
      "model_under_probability": 0.5274,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.463,
      "implied_over_probability_novig": 0.5695,
      "implied_under_probability_novig": 0.4305,
      "edge_over": -0.1398,
      "edge_under": 0.0644,
      "recommended_side": "Under",
      "recommended_edge": 0.0644,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.083,
      "aggregate_matchup_score": 59.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:00.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -102,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.436,
      "model_under_probability": 0.564,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5556,
      "implied_under_probability_raw": 0.505,
      "implied_over_probability_novig": 0.5239,
      "implied_under_probability_novig": 0.4761,
      "edge_over": -0.1196,
      "edge_under": 0.059,
      "recommended_side": "Under",
      "recommended_edge": 0.059,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 225,
      "under_odds": null,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3649,
      "model_under_probability": 0.6351,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0572,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0572,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "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": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -138,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.363,
      "model_under_probability": 0.637,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4808,
      "implied_under_probability_raw": 0.5798,
      "implied_over_probability_novig": 0.4533,
      "implied_under_probability_novig": 0.5467,
      "edge_over": -0.1178,
      "edge_under": 0.0572,
      "recommended_side": "Under",
      "recommended_edge": 0.0572,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:29.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -135,
      "under_odds": 100,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.446,
      "model_under_probability": 0.554,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5745,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5347,
      "implied_under_probability_novig": 0.4653,
      "edge_over": -0.1285,
      "edge_under": 0.054,
      "recommended_side": "Under",
      "recommended_edge": 0.054,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "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": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": 102,
      "under_odds": -128,
      "expected_strikeouts": 4.02,
      "baseline_projected_strikeouts": 3.96,
      "adjusted_projected_strikeouts": 4.02,
      "skill_score": 10.3,
      "opportunity_score": 34.5,
      "opponent_weakness_score": 32.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 70.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.5486,
      "model_under_probability": 0.4514,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.495,
      "implied_under_probability_raw": 0.5614,
      "implied_over_probability_novig": 0.4686,
      "implied_under_probability_novig": 0.5314,
      "edge_over": 0.0536,
      "edge_under": -0.11,
      "recommended_side": "Over",
      "recommended_edge": 0.0536,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 35.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26904.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -122,
      "expected_strikeouts": 3.23,
      "baseline_projected_strikeouts": 3.19,
      "adjusted_projected_strikeouts": 3.23,
      "skill_score": 2.4,
      "opportunity_score": 49.5,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 47.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3991,
      "model_under_probability": 0.6009,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5192,
      "implied_under_probability_raw": 0.5495,
      "implied_over_probability_novig": 0.4858,
      "implied_under_probability_novig": 0.5142,
      "edge_over": -0.1201,
      "edge_under": 0.0514,
      "recommended_side": "Under",
      "recommended_edge": 0.0514,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.04,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 20.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.52,
      "environment_summary": "neutral",
      "temperature_f": 76.5,
      "wind_speed_mph": 12.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:20.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -122,
      "expected_strikeouts": 3.23,
      "baseline_projected_strikeouts": 3.19,
      "adjusted_projected_strikeouts": 3.23,
      "skill_score": 2.4,
      "opportunity_score": 49.5,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 47.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3991,
      "model_under_probability": 0.6009,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5192,
      "implied_under_probability_raw": 0.5495,
      "implied_over_probability_novig": 0.4858,
      "implied_under_probability_novig": 0.5142,
      "edge_over": -0.1201,
      "edge_under": 0.0514,
      "recommended_side": "Under",
      "recommended_edge": 0.0514,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.04,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 20.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.52,
      "environment_summary": "neutral",
      "temperature_f": 76.5,
      "wind_speed_mph": 12.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 240,
      "under_odds": null,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3428,
      "model_under_probability": 0.6572,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2941,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0487,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0487,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 640,
      "under_odds": null,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.1802,
      "model_under_probability": 0.8198,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1351,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0451,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0451,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 320,
      "under_odds": null,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.281,
      "model_under_probability": 0.719,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2381,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0429,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0429,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:20.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 117,
      "under_odds": -149,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.3599,
      "model_under_probability": 0.6401,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4608,
      "implied_under_probability_raw": 0.5984,
      "implied_over_probability_novig": 0.435,
      "implied_under_probability_novig": 0.565,
      "edge_over": -0.1009,
      "edge_under": 0.0417,
      "recommended_side": "Under",
      "recommended_edge": 0.0417,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 470,
      "under_odds": null,
      "expected_strikeouts": 3.89,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 3.89,
      "skill_score": 5.9,
      "opportunity_score": 32.7,
      "opponent_weakness_score": 27.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.7,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2146,
      "model_under_probability": 0.7854,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1754,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0392,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0392,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 34.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.87,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 220,
      "under_odds": null,
      "expected_strikeouts": 3.89,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 3.89,
      "skill_score": 5.9,
      "opportunity_score": 32.7,
      "opponent_weakness_score": 27.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.7,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3511,
      "model_under_probability": 0.6489,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3125,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0386,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0386,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 34.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.87,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "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": "KC",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:22.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -150,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.363,
      "model_under_probability": 0.637,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": 0.6,
      "implied_over_probability_novig": 0.4333,
      "implied_under_probability_novig": 0.5667,
      "edge_over": -0.0957,
      "edge_under": 0.037,
      "recommended_side": "Under",
      "recommended_edge": 0.037,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -152,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.3599,
      "model_under_probability": 0.6401,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4365,
      "implied_under_probability_novig": 0.5635,
      "edge_over": -0.1074,
      "edge_under": 0.0369,
      "recommended_side": "Under",
      "recommended_edge": 0.0369,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:20.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -152,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.3599,
      "model_under_probability": 0.6401,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4365,
      "implied_under_probability_novig": 0.5635,
      "edge_over": -0.1074,
      "edge_under": 0.0369,
      "recommended_side": "Under",
      "recommended_edge": 0.0369,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:56:31.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -145,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5015,
      "model_under_probability": 0.4985,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.5918,
      "implied_over_probability_novig": 0.4412,
      "implied_under_probability_novig": 0.5588,
      "edge_over": 0.0342,
      "edge_under": -0.0933,
      "recommended_side": "Over",
      "recommended_edge": 0.0342,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:13.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -160,
      "under_odds": 120,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.5128,
      "model_under_probability": 0.4872,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6154,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5752,
      "implied_under_probability_novig": 0.4248,
      "edge_over": -0.1026,
      "edge_under": 0.0327,
      "recommended_side": "Under",
      "recommended_edge": 0.0327,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:56:48.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -135,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.3937,
      "model_under_probability": 0.6063,
      "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.1063,
      "edge_under": 0.0318,
      "recommended_side": "Under",
      "recommended_edge": 0.0318,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:40.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -135,
      "under_odds": 100,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.4693,
      "model_under_probability": 0.5307,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5745,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5347,
      "implied_under_probability_novig": 0.4653,
      "edge_over": -0.1052,
      "edge_under": 0.0307,
      "recommended_side": "Under",
      "recommended_edge": 0.0307,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:55:52.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -115,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.436,
      "model_under_probability": 0.564,
      "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.0989,
      "edge_under": 0.0291,
      "recommended_side": "Under",
      "recommended_edge": 0.0291,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:25.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 122,
      "under_odds": -156,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4786,
      "model_under_probability": 0.5214,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4505,
      "implied_under_probability_raw": 0.6094,
      "implied_over_probability_novig": 0.425,
      "implied_under_probability_novig": 0.575,
      "edge_over": 0.0281,
      "edge_under": -0.088,
      "recommended_side": "Over",
      "recommended_edge": 0.0281,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Lopez",
      "pitcher_id": 682052,
      "team_abbr": "ATH",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -450,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.59,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 2.4,
      "opportunity_score": 46.3,
      "opponent_weakness_score": 44.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.8448,
      "model_under_probability": 0.1552,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8182,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0266,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0266,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.105,
      "aggregate_matchup_score": 54.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7962.0,
      "lineup_expected_strikeouts": 5.92,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -134,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5015,
      "model_under_probability": 0.4985,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5726,
      "implied_over_probability_novig": 0.454,
      "implied_under_probability_novig": 0.546,
      "edge_over": 0.0253,
      "edge_under": -0.0741,
      "recommended_side": "Over",
      "recommended_edge": 0.0253,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:21.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -134,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5015,
      "model_under_probability": 0.4985,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5726,
      "implied_over_probability_novig": 0.454,
      "implied_under_probability_novig": 0.546,
      "edge_over": 0.0253,
      "edge_under": -0.0741,
      "recommended_side": "Over",
      "recommended_edge": 0.0253,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Kochanowicz",
      "pitcher_id": 686799,
      "team_abbr": "LAA",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 630,
      "under_odds": null,
      "expected_strikeouts": 3.49,
      "baseline_projected_strikeouts": 3.54,
      "adjusted_projected_strikeouts": 3.49,
      "skill_score": 11.8,
      "opportunity_score": 49.7,
      "opponent_weakness_score": 30.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 38.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.1594,
      "model_under_probability": 0.8406,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.137,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0224,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0224,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.996,
      "aggregate_matchup_score": 21.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12726.0,
      "lineup_expected_strikeouts": 3.73,
      "environment_summary": "hitter-friendly",
      "temperature_f": 87.8,
      "wind_speed_mph": 10.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 490,
      "under_odds": null,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.188,
      "model_under_probability": 0.812,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1695,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0185,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0185,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 550,
      "under_odds": null,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.1702,
      "model_under_probability": 0.8298,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1538,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0164,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0164,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -154,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4786,
      "model_under_probability": 0.5214,
      "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.0156,
      "edge_under": -0.0849,
      "recommended_side": "Over",
      "recommended_edge": 0.0156,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:16.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -154,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4786,
      "model_under_probability": 0.5214,
      "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.0156,
      "edge_under": -0.0849,
      "recommended_side": "Over",
      "recommended_edge": 0.0156,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:31.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 123,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.5361,
      "model_under_probability": 0.4639,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4484,
      "implied_over_probability_novig": 0.5773,
      "implied_under_probability_novig": 0.4227,
      "edge_over": -0.0763,
      "edge_under": 0.0155,
      "recommended_side": "Under",
      "recommended_edge": 0.0155,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 152,
      "under_odds": null,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.4119,
      "model_under_probability": 0.5881,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3968,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0151,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0151,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -142,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.3992,
      "model_under_probability": 0.6008,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.441,
      "implied_under_probability_novig": 0.559,
      "edge_over": -0.0638,
      "edge_under": 0.014,
      "recommended_side": "No Play",
      "recommended_edge": 0.014,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:29.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -142,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.3992,
      "model_under_probability": 0.6008,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.441,
      "implied_under_probability_novig": 0.559,
      "edge_over": -0.0638,
      "edge_under": 0.014,
      "recommended_side": "No Play",
      "recommended_edge": 0.014,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:21.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -145,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5015,
      "model_under_probability": 0.4985,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5918,
      "implied_over_probability_novig": 0.4518,
      "implied_under_probability_novig": 0.5482,
      "edge_over": 0.0137,
      "edge_under": -0.0933,
      "recommended_side": "No Play",
      "recommended_edge": 0.0137,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:16.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -105,
      "under_odds": -115,
      "expected_strikeouts": 3.89,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 3.89,
      "skill_score": 5.9,
      "opportunity_score": 32.7,
      "opponent_weakness_score": 27.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.7,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5256,
      "model_under_probability": 0.4744,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5122,
      "implied_under_probability_raw": 0.5349,
      "implied_over_probability_novig": 0.4892,
      "implied_under_probability_novig": 0.5108,
      "edge_over": 0.0134,
      "edge_under": -0.0605,
      "recommended_side": "No Play",
      "recommended_edge": 0.0134,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 34.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.87,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:17.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -146,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.3937,
      "model_under_probability": 0.6063,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.5935,
      "implied_over_probability_novig": 0.4405,
      "implied_under_probability_novig": 0.5595,
      "edge_over": -0.0736,
      "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.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -350,
      "under_odds": null,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.7878,
      "model_under_probability": 0.2122,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7778,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.01,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.01,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Kochanowicz",
      "pitcher_id": 686799,
      "team_abbr": "LAA",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 265,
      "under_odds": null,
      "expected_strikeouts": 3.49,
      "baseline_projected_strikeouts": 3.54,
      "adjusted_projected_strikeouts": 3.49,
      "skill_score": 11.8,
      "opportunity_score": 49.7,
      "opponent_weakness_score": 30.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 38.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.281,
      "model_under_probability": 0.719,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.274,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.007,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.007,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.996,
      "aggregate_matchup_score": 21.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12726.0,
      "lineup_expected_strikeouts": 3.73,
      "environment_summary": "hitter-friendly",
      "temperature_f": 87.8,
      "wind_speed_mph": 10.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -115,
      "expected_strikeouts": 3.89,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 3.89,
      "skill_score": 5.9,
      "opportunity_score": 32.7,
      "opponent_weakness_score": 27.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.7,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5256,
      "model_under_probability": 0.4744,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5192,
      "implied_under_probability_raw": 0.5349,
      "implied_over_probability_novig": 0.4926,
      "implied_under_probability_novig": 0.5074,
      "edge_over": 0.0064,
      "edge_under": -0.0605,
      "recommended_side": "No Play",
      "recommended_edge": 0.0064,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 34.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.87,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 520,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.1673,
      "model_under_probability": 0.8327,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1613,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.006,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.006,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -192,
      "under_odds": 154,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.6003,
      "model_under_probability": 0.3997,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6575,
      "implied_under_probability_raw": 0.3937,
      "implied_over_probability_novig": 0.6255,
      "implied_under_probability_novig": 0.3745,
      "edge_over": -0.0572,
      "edge_under": 0.006,
      "recommended_side": "No Play",
      "recommended_edge": 0.006,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:34.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -192,
      "under_odds": 154,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.6003,
      "model_under_probability": 0.3997,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6575,
      "implied_under_probability_raw": 0.3937,
      "implied_over_probability_novig": 0.6255,
      "implied_under_probability_novig": 0.3745,
      "edge_over": -0.0572,
      "edge_under": 0.006,
      "recommended_side": "No Play",
      "recommended_edge": 0.006,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 260,
      "under_odds": null,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.28,
      "model_under_probability": 0.72,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2778,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0022,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0022,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "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": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -275,
      "under_odds": null,
      "expected_strikeouts": 4.02,
      "baseline_projected_strikeouts": 3.96,
      "adjusted_projected_strikeouts": 4.02,
      "skill_score": 10.3,
      "opportunity_score": 34.5,
      "opponent_weakness_score": 32.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 70.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.7317,
      "model_under_probability": 0.2683,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0016,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0016,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 35.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26904.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:14.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 133,
      "under_odds": -170,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.4274,
      "model_under_probability": 0.5726,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4292,
      "implied_under_probability_raw": 0.6296,
      "implied_over_probability_novig": 0.4054,
      "implied_under_probability_novig": 0.5946,
      "edge_over": -0.0018,
      "edge_under": -0.057,
      "recommended_side": "No Play",
      "recommended_edge": -0.0018,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:14.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 115,
      "under_odds": -155,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.3992,
      "model_under_probability": 0.6008,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4651,
      "implied_under_probability_raw": 0.6078,
      "implied_over_probability_novig": 0.4335,
      "implied_under_probability_novig": 0.5665,
      "edge_over": -0.0659,
      "edge_under": -0.007,
      "recommended_side": "No Play",
      "recommended_edge": -0.007,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 680,
      "under_odds": null,
      "expected_strikeouts": 4.6,
      "baseline_projected_strikeouts": 4.25,
      "adjusted_projected_strikeouts": 4.6,
      "skill_score": 22.1,
      "opportunity_score": 32.0,
      "opponent_weakness_score": 47.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 63.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.1204,
      "model_under_probability": 0.8796,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1282,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0078,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0078,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.083,
      "aggregate_matchup_score": 59.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 640,
      "under_odds": null,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.1225,
      "model_under_probability": 0.8775,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1351,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0126,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0126,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Kochanowicz",
      "pitcher_id": 686799,
      "team_abbr": "LAA",
      "opponent_abbr": "TB",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:10.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 115,
      "under_odds": null,
      "expected_strikeouts": 3.49,
      "baseline_projected_strikeouts": 3.54,
      "adjusted_projected_strikeouts": 3.49,
      "skill_score": 11.8,
      "opportunity_score": 49.7,
      "opponent_weakness_score": 30.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 38.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4507,
      "model_under_probability": 0.5493,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4651,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0144,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0144,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.996,
      "aggregate_matchup_score": 21.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12726.0,
      "lineup_expected_strikeouts": 3.73,
      "environment_summary": "hitter-friendly",
      "temperature_f": 87.8,
      "wind_speed_mph": 10.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 124,
      "under_odds": -166,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.3937,
      "model_under_probability": 0.6063,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4464,
      "implied_under_probability_raw": 0.6241,
      "implied_over_probability_novig": 0.417,
      "implied_under_probability_novig": 0.583,
      "edge_over": -0.0527,
      "edge_under": -0.0178,
      "recommended_side": "No Play",
      "recommended_edge": -0.0178,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:17.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 124,
      "under_odds": -166,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.3937,
      "model_under_probability": 0.6063,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4464,
      "implied_under_probability_raw": 0.6241,
      "implied_over_probability_novig": 0.417,
      "implied_under_probability_novig": 0.583,
      "edge_over": -0.0527,
      "edge_under": -0.0178,
      "recommended_side": "No Play",
      "recommended_edge": -0.0178,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 630,
      "under_odds": null,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.1186,
      "model_under_probability": 0.8814,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.137,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0184,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0184,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "SF",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:38.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 170,
      "under_odds": -235,
      "expected_strikeouts": 3.89,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 3.89,
      "skill_score": 5.9,
      "opportunity_score": 32.7,
      "opponent_weakness_score": 27.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.7,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3511,
      "model_under_probability": 0.6489,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3704,
      "implied_under_probability_raw": 0.7015,
      "implied_over_probability_novig": 0.3456,
      "implied_under_probability_novig": 0.6544,
      "edge_over": -0.0193,
      "edge_under": -0.0526,
      "recommended_side": "No Play",
      "recommended_edge": -0.0193,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 34.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.87,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -275,
      "under_odds": null,
      "expected_strikeouts": 3.89,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 3.89,
      "skill_score": 5.9,
      "opportunity_score": 32.7,
      "opponent_weakness_score": 27.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.7,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.7134,
      "model_under_probability": 0.2866,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0199,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0199,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 34.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.87,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "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": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 490,
      "under_odds": null,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.1465,
      "model_under_probability": 0.8535,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1695,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.023,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.023,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -154,
      "under_odds": 118,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.5647,
      "model_under_probability": 0.4353,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6063,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5693,
      "implied_under_probability_novig": 0.4307,
      "edge_over": -0.0416,
      "edge_under": -0.0234,
      "recommended_side": "No Play",
      "recommended_edge": -0.0234,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:35.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 118,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.5647,
      "model_under_probability": 0.4353,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5627,
      "implied_under_probability_novig": 0.4373,
      "edge_over": -0.0255,
      "edge_under": -0.0234,
      "recommended_side": "No Play",
      "recommended_edge": -0.0234,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "SF",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:25.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -104,
      "expected_strikeouts": 3.89,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 3.89,
      "skill_score": 5.9,
      "opportunity_score": 32.7,
      "opponent_weakness_score": 27.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 72.7,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5256,
      "model_under_probability": 0.4744,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5495,
      "implied_under_probability_raw": 0.5098,
      "implied_over_probability_novig": 0.5187,
      "implied_under_probability_novig": 0.4813,
      "edge_over": -0.0239,
      "edge_under": -0.0354,
      "recommended_side": "No Play",
      "recommended_edge": -0.0239,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.978,
      "aggregate_matchup_score": 34.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.87,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 490,
      "under_odds": null,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.1445,
      "model_under_probability": 0.8555,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1695,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.025,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.025,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Kochanowicz",
      "pitcher_id": 686799,
      "team_abbr": "LAA",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -146,
      "expected_strikeouts": 3.49,
      "baseline_projected_strikeouts": 3.54,
      "adjusted_projected_strikeouts": 3.49,
      "skill_score": 11.8,
      "opportunity_score": 49.7,
      "opponent_weakness_score": 30.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 38.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4507,
      "model_under_probability": 0.5493,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5935,
      "implied_over_probability_novig": 0.4452,
      "implied_under_probability_novig": 0.5548,
      "edge_over": -0.0255,
      "edge_under": -0.0442,
      "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.05,
      "adjustment_multiplier": 0.996,
      "aggregate_matchup_score": 21.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12726.0,
      "lineup_expected_strikeouts": 3.73,
      "environment_summary": "hitter-friendly",
      "temperature_f": 87.8,
      "wind_speed_mph": 10.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Kochanowicz",
      "pitcher_id": 686799,
      "team_abbr": "LAA",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:24.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -146,
      "expected_strikeouts": 3.49,
      "baseline_projected_strikeouts": 3.54,
      "adjusted_projected_strikeouts": 3.49,
      "skill_score": 11.8,
      "opportunity_score": 49.7,
      "opponent_weakness_score": 30.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 38.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4507,
      "model_under_probability": 0.5493,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5935,
      "implied_over_probability_novig": 0.4452,
      "implied_under_probability_novig": 0.5548,
      "edge_over": -0.0255,
      "edge_under": -0.0442,
      "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.05,
      "adjustment_multiplier": 0.996,
      "aggregate_matchup_score": 21.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12726.0,
      "lineup_expected_strikeouts": 3.73,
      "environment_summary": "hitter-friendly",
      "temperature_f": 87.8,
      "wind_speed_mph": 10.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 225,
      "under_odds": null,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.2811,
      "model_under_probability": 0.7189,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0266,
      "edge_under": null,
      "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.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:56:58.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 128,
      "under_odds": -164,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.4119,
      "model_under_probability": 0.5881,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4386,
      "implied_under_probability_raw": 0.6212,
      "implied_over_probability_novig": 0.4139,
      "implied_under_probability_novig": 0.5861,
      "edge_over": -0.0267,
      "edge_under": -0.0331,
      "recommended_side": "No Play",
      "recommended_edge": -0.0267,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Kochanowicz",
      "pitcher_id": 686799,
      "team_abbr": "LAA",
      "opponent_abbr": "TB",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:01.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 107,
      "under_odds": -136,
      "expected_strikeouts": 3.49,
      "baseline_projected_strikeouts": 3.54,
      "adjusted_projected_strikeouts": 3.49,
      "skill_score": 11.8,
      "opportunity_score": 49.7,
      "opponent_weakness_score": 30.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 38.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4507,
      "model_under_probability": 0.5493,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4831,
      "implied_under_probability_raw": 0.5763,
      "implied_over_probability_novig": 0.456,
      "implied_under_probability_novig": 0.544,
      "edge_over": -0.0324,
      "edge_under": -0.027,
      "recommended_side": "No Play",
      "recommended_edge": -0.027,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.996,
      "aggregate_matchup_score": 21.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12726.0,
      "lineup_expected_strikeouts": 3.73,
      "environment_summary": "hitter-friendly",
      "temperature_f": 87.8,
      "wind_speed_mph": 10.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:29.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -150,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.4274,
      "model_under_probability": 0.5726,
      "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.0488,
      "edge_under": -0.0274,
      "recommended_side": "No Play",
      "recommended_edge": -0.0274,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 640,
      "under_odds": null,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.1061,
      "model_under_probability": 0.8939,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1351,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.029,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.029,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": null,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.4274,
      "model_under_probability": 0.5726,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0313,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0313,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:38.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -105,
      "under_odds": -125,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4786,
      "model_under_probability": 0.5214,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5122,
      "implied_under_probability_raw": 0.5556,
      "implied_over_probability_novig": 0.4797,
      "implied_under_probability_novig": 0.5203,
      "edge_over": -0.0336,
      "edge_under": -0.0342,
      "recommended_side": "No Play",
      "recommended_edge": -0.0336,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 235,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.2647,
      "model_under_probability": 0.7353,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2985,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0338,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0338,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ranger Suarez",
      "pitcher_id": 624133,
      "team_abbr": "BOS",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 320,
      "under_odds": null,
      "expected_strikeouts": 4.6,
      "baseline_projected_strikeouts": 4.25,
      "adjusted_projected_strikeouts": 4.6,
      "skill_score": 22.1,
      "opportunity_score": 32.0,
      "opponent_weakness_score": 47.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 63.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.2033,
      "model_under_probability": 0.7967,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2381,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0348,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0348,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.083,
      "aggregate_matchup_score": 59.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-05-31T12:57:02.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.5647,
      "model_under_probability": 0.4353,
      "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.0353,
      "edge_under": -0.0409,
      "recommended_side": "No Play",
      "recommended_edge": -0.0353,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 320,
      "under_odds": null,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.198,
      "model_under_probability": 0.802,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2381,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0401,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0401,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 490,
      "under_odds": null,
      "expected_strikeouts": 3.23,
      "baseline_projected_strikeouts": 3.19,
      "adjusted_projected_strikeouts": 3.23,
      "skill_score": 2.4,
      "opportunity_score": 49.5,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 47.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.1268,
      "model_under_probability": 0.8732,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1695,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0427,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0427,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.04,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 20.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.52,
      "environment_summary": "neutral",
      "temperature_f": 76.5,
      "wind_speed_mph": 12.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -225,
      "under_odds": null,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6482,
      "model_under_probability": 0.3518,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6923,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0441,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0441,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -205,
      "under_odds": null,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6275,
      "model_under_probability": 0.3725,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6721,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0446,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0446,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 300,
      "under_odds": null,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.2008,
      "model_under_probability": 0.7992,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.25,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0492,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0492,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Keider Montero",
      "pitcher_id": 672456,
      "team_abbr": "DET",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 430,
      "under_odds": null,
      "expected_strikeouts": 3.29,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.29,
      "skill_score": 4.3,
      "opportunity_score": 41.2,
      "opponent_weakness_score": 36.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": 52.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.1341,
      "model_under_probability": 0.8659,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1887,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0546,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0546,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9948.0,
      "lineup_expected_strikeouts": 3.75,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 470,
      "under_odds": null,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.1151,
      "model_under_probability": 0.8849,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1754,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0603,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0603,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -2200,
      "under_odds": null,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.8948,
      "model_under_probability": 0.1052,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9565,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0617,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0617,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 235,
      "under_odds": null,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.2355,
      "model_under_probability": 0.7645,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2985,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.063,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.063,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -500,
      "under_odds": null,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7702,
      "model_under_probability": 0.2298,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0631,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0631,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Kochanowicz",
      "pitcher_id": 686799,
      "team_abbr": "LAA",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -250,
      "under_odds": null,
      "expected_strikeouts": 3.49,
      "baseline_projected_strikeouts": 3.54,
      "adjusted_projected_strikeouts": 3.49,
      "skill_score": 11.8,
      "opportunity_score": 49.7,
      "opponent_weakness_score": 30.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 38.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6502,
      "model_under_probability": 0.3498,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7143,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0641,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0641,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.996,
      "aggregate_matchup_score": 21.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12726.0,
      "lineup_expected_strikeouts": 3.73,
      "environment_summary": "hitter-friendly",
      "temperature_f": 87.8,
      "wind_speed_mph": 10.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 300,
      "under_odds": null,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.1834,
      "model_under_probability": 0.8166,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.25,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0666,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0666,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kyle Bradish",
      "pitcher_id": 680694,
      "team_abbr": "BAL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -580,
      "under_odds": null,
      "expected_strikeouts": 5.8,
      "baseline_projected_strikeouts": 5.86,
      "adjusted_projected_strikeouts": 5.8,
      "skill_score": 19.1,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 39.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7859,
      "model_under_probability": 0.2141,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8529,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.067,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.067,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13080.0,
      "lineup_expected_strikeouts": 5.5,
      "environment_summary": "neutral",
      "temperature_f": 76.6,
      "wind_speed_mph": 6.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Robbie Ray",
      "pitcher_id": 592662,
      "team_abbr": "SF",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -2000,
      "under_odds": null,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 12.2,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 49.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.8854,
      "model_under_probability": 0.1146,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9524,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.067,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.067,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.44,
      "adjustment_multiplier": 1.086,
      "aggregate_matchup_score": 65.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17890.0,
      "lineup_expected_strikeouts": 6.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 78.3,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "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": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 225,
      "under_odds": null,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2381,
      "model_under_probability": 0.7619,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0696,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0696,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 225,
      "under_odds": null,
      "expected_strikeouts": 3.23,
      "baseline_projected_strikeouts": 3.19,
      "adjusted_projected_strikeouts": 3.23,
      "skill_score": 2.4,
      "opportunity_score": 49.5,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 47.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2362,
      "model_under_probability": 0.7638,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0715,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0715,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.04,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 20.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.52,
      "environment_summary": "neutral",
      "temperature_f": 76.5,
      "wind_speed_mph": 12.2,
      "wind_direction": "cross",
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 154,
      "under_odds": null,
      "expected_strikeouts": 4.6,
      "baseline_projected_strikeouts": 4.25,
      "adjusted_projected_strikeouts": 4.6,
      "skill_score": 22.1,
      "opportunity_score": 32.0,
      "opponent_weakness_score": 47.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 63.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.3214,
      "model_under_probability": 0.6786,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3937,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0723,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0723,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.083,
      "aggregate_matchup_score": 59.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -550,
      "under_odds": null,
      "expected_strikeouts": 4.33,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.33,
      "skill_score": 46.9,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 89.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.7712,
      "model_under_probability": 0.2288,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8462,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.075,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.075,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.1,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.26,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1400,
      "under_odds": null,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.8543,
      "model_under_probability": 0.1457,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.079,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.079,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -400,
      "under_odds": null,
      "expected_strikeouts": 5.19,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.19,
      "skill_score": 43.8,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 41.5,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 57.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.7205,
      "model_under_probability": 0.2795,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0795,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0795,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 52.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 640,
      "under_odds": null,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.0519,
      "model_under_probability": 0.9481,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1351,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0832,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0832,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 158,
      "under_odds": null,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.3028,
      "model_under_probability": 0.6972,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3876,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0848,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0848,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Keider Montero",
      "pitcher_id": 672456,
      "team_abbr": "DET",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 198,
      "under_odds": null,
      "expected_strikeouts": 3.29,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.29,
      "skill_score": 4.3,
      "opportunity_score": 41.2,
      "opponent_weakness_score": 36.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": 52.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.2464,
      "model_under_probability": 0.7536,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3356,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0892,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0892,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9948.0,
      "lineup_expected_strikeouts": 3.75,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 450,
      "under_odds": null,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.087,
      "model_under_probability": 0.913,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1818,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0948,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0948,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 142,
      "under_odds": null,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.3183,
      "model_under_probability": 0.6817,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4132,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0949,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0949,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 320,
      "under_odds": null,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.14,
      "model_under_probability": 0.86,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2381,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0981,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0981,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 220,
      "under_odds": null,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.206,
      "model_under_probability": 0.794,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3125,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1065,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1065,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -2000,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.8448,
      "model_under_probability": 0.1552,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9524,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1076,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1076,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -320,
      "under_odds": null,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.6507,
      "model_under_probability": 0.3493,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7619,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1112,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1112,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -4500,
      "under_odds": null,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.8662,
      "model_under_probability": 0.1338,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9783,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1121,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1121,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 140,
      "under_odds": null,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.2968,
      "model_under_probability": 0.7032,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4167,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1199,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1199,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 350,
      "under_odds": null,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.1023,
      "model_under_probability": 0.8977,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2222,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1199,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1199,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "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": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -2000,
      "under_odds": null,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.8274,
      "model_under_probability": 0.1726,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9524,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.125,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.125,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -205,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.5468,
      "model_under_probability": 0.4532,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6721,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1253,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1253,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -2000,
      "under_odds": null,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.8256,
      "model_under_probability": 0.1744,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9524,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1268,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1268,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -1450,
      "under_odds": null,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.8085,
      "model_under_probability": 0.1915,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9355,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.127,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.127,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -500,
      "under_odds": null,
      "expected_strikeouts": 5.07,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 5.07,
      "skill_score": 38.2,
      "opportunity_score": 50.1,
      "opponent_weakness_score": 43.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 45.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.7058,
      "model_under_probability": 0.2942,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1275,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1275,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.33,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 51.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "neutral",
      "temperature_f": 78.1,
      "wind_speed_mph": 7.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ranger Suarez",
      "pitcher_id": 624133,
      "team_abbr": "BOS",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1450,
      "under_odds": null,
      "expected_strikeouts": 4.6,
      "baseline_projected_strikeouts": 4.25,
      "adjusted_projected_strikeouts": 4.6,
      "skill_score": 22.1,
      "opportunity_score": 32.0,
      "opponent_weakness_score": 47.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 63.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.8012,
      "model_under_probability": 0.1988,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9355,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1343,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1343,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.083,
      "aggregate_matchup_score": 59.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -205,
      "under_odds": null,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.5361,
      "model_under_probability": 0.4639,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6721,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.136,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.136,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1450,
      "under_odds": null,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.7991,
      "model_under_probability": 0.2009,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9355,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1364,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1364,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -450,
      "under_odds": null,
      "expected_strikeouts": 6.05,
      "baseline_projected_strikeouts": 5.87,
      "adjusted_projected_strikeouts": 6.05,
      "skill_score": 39.4,
      "opportunity_score": 74.2,
      "opponent_weakness_score": 47.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 14.2,
      "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.6787,
      "model_under_probability": 0.3213,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8182,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1395,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1395,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 72.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 6.08,
      "environment_summary": "neutral",
      "temperature_f": 68.0,
      "wind_speed_mph": 3.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -300,
      "under_odds": null,
      "expected_strikeouts": 3.23,
      "baseline_projected_strikeouts": 3.19,
      "adjusted_projected_strikeouts": 3.23,
      "skill_score": 2.4,
      "opportunity_score": 49.5,
      "opponent_weakness_score": 32.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 47.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6033,
      "model_under_probability": 0.3967,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.75,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1467,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1467,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.04,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 20.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.52,
      "environment_summary": "neutral",
      "temperature_f": 76.5,
      "wind_speed_mph": 12.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Keider Montero",
      "pitcher_id": 672456,
      "team_abbr": "DET",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -320,
      "under_odds": null,
      "expected_strikeouts": 3.29,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.29,
      "skill_score": 4.3,
      "opportunity_score": 41.2,
      "opponent_weakness_score": 36.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": 52.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6145,
      "model_under_probability": 0.3855,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7619,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1474,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1474,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9948.0,
      "lineup_expected_strikeouts": 3.75,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -198,
      "under_odds": null,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.5128,
      "model_under_probability": 0.4872,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6644,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1516,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1516,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1450,
      "under_odds": null,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.7839,
      "model_under_probability": 0.2161,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9355,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1516,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1516,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 225,
      "under_odds": null,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.1561,
      "model_under_probability": 0.8439,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1516,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1516,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Zebby Matthews",
      "pitcher_id": 805673,
      "team_abbr": "MIN",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -490,
      "under_odds": null,
      "expected_strikeouts": 4.85,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.85,
      "skill_score": 32.4,
      "opportunity_score": 56.4,
      "opponent_weakness_score": 38.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": 40.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.6771,
      "model_under_probability": 0.3229,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8305,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1534,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1534,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 46.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9633.0,
      "lineup_expected_strikeouts": 5.21,
      "environment_summary": "neutral",
      "temperature_f": 77.7,
      "wind_speed_mph": 6.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 164,
      "under_odds": null,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.221,
      "model_under_probability": 0.779,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3788,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1578,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1578,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -400,
      "under_odds": null,
      "expected_strikeouts": 4.6,
      "baseline_projected_strikeouts": 4.25,
      "adjusted_projected_strikeouts": 4.6,
      "skill_score": 22.1,
      "opportunity_score": 32.0,
      "opponent_weakness_score": 47.0,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 63.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.6417,
      "model_under_probability": 0.3583,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1583,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1583,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.083,
      "aggregate_matchup_score": 59.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 67.1,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael Wacha",
      "pitcher_id": 608379,
      "team_abbr": "KC",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -400,
      "under_odds": null,
      "expected_strikeouts": 4.58,
      "baseline_projected_strikeouts": 4.6,
      "adjusted_projected_strikeouts": 4.58,
      "skill_score": 18.8,
      "opportunity_score": 75.2,
      "opponent_weakness_score": 31.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.1,
      "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.6388,
      "model_under_probability": 0.3612,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1612,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1612,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 1.006,
      "aggregate_matchup_score": 38.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30396.0,
      "lineup_expected_strikeouts": 4.81,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "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": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -550,
      "under_odds": null,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6798,
      "model_under_probability": 0.3202,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8462,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1664,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1664,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "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": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -215,
      "under_odds": null,
      "expected_strikeouts": 4.87,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.87,
      "skill_score": 33.1,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 25.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.516,
      "model_under_probability": 0.484,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6825,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1665,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1665,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.37,
      "adjustment_multiplier": 0.94,
      "aggregate_matchup_score": 34.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14747.0,
      "lineup_expected_strikeouts": 4.51,
      "environment_summary": "neutral",
      "temperature_f": 93.0,
      "wind_speed_mph": 10.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -1000,
      "under_odds": null,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.7392,
      "model_under_probability": 0.2608,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9091,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1699,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1699,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -700,
      "under_odds": null,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.7046,
      "model_under_probability": 0.2954,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.875,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1704,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1704,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Lodolo",
      "pitcher_id": 666157,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -330,
      "under_odds": null,
      "expected_strikeouts": 5.35,
      "baseline_projected_strikeouts": 5.17,
      "adjusted_projected_strikeouts": 5.35,
      "skill_score": 40.1,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 39.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": 39.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.5878,
      "model_under_probability": 0.4122,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7674,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1796,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1796,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 49.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21650.0,
      "lineup_expected_strikeouts": 5.69,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 172,
      "under_odds": null,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.1877,
      "model_under_probability": 0.8123,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3676,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1799,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1799,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -1800,
      "under_odds": null,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.7609,
      "model_under_probability": 0.2391,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9474,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1865,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1865,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -420,
      "under_odds": null,
      "expected_strikeouts": 4.44,
      "baseline_projected_strikeouts": 3.98,
      "adjusted_projected_strikeouts": 4.44,
      "skill_score": 18.4,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.6,
      "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.6176,
      "model_under_probability": 0.3824,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1901,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1901,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.115,
      "aggregate_matchup_score": 44.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 61.9,
      "wind_speed_mph": 6.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Griffin Canning",
      "pitcher_id": 656288,
      "team_abbr": "SD",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -245,
      "under_odds": null,
      "expected_strikeouts": 3.83,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.83,
      "skill_score": 41.6,
      "opportunity_score": 23.3,
      "opponent_weakness_score": 34.0,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 89.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.5148,
      "model_under_probability": 0.4852,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7101,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1953,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1953,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.035,
      "aggregate_matchup_score": 33.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23781.0,
      "lineup_expected_strikeouts": 4.21,
      "environment_summary": "neutral",
      "temperature_f": 78.4,
      "wind_speed_mph": 7.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -3000,
      "under_odds": null,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.7566,
      "model_under_probability": 0.2434,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9677,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2111,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2111,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1000,
      "under_odds": null,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.6847,
      "model_under_probability": 0.3153,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9091,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2244,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2244,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -580,
      "under_odds": null,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6155,
      "model_under_probability": 0.3845,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8529,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2374,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2374,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -290,
      "under_odds": null,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.5043,
      "model_under_probability": 0.4957,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7436,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2393,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2393,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Spencer Strider",
      "pitcher_id": 675911,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -260,
      "under_odds": null,
      "expected_strikeouts": 5.55,
      "baseline_projected_strikeouts": 4.84,
      "adjusted_projected_strikeouts": 5.55,
      "skill_score": 56.7,
      "opportunity_score": 40.4,
      "opponent_weakness_score": 56.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 54.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4655,
      "model_under_probability": 0.5345,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7222,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2567,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2567,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.71,
      "adjustment_multiplier": 1.147,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20559.0,
      "lineup_expected_strikeouts": 7.37,
      "environment_summary": "hitter-friendly",
      "temperature_f": 81.3,
      "wind_speed_mph": 3.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Liberatore",
      "pitcher_id": 669461,
      "team_abbr": "STL",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -320,
      "under_odds": null,
      "expected_strikeouts": 3.7,
      "baseline_projected_strikeouts": 3.83,
      "adjusted_projected_strikeouts": 3.7,
      "skill_score": 38.7,
      "opportunity_score": 38.4,
      "opponent_weakness_score": 27.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": 63.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.4908,
      "model_under_probability": 0.5092,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7619,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2711,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2711,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.13,
      "adjustment_multiplier": 0.967,
      "aggregate_matchup_score": 23.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 16017.0,
      "lineup_expected_strikeouts": 3.7,
      "environment_summary": "neutral",
      "temperature_f": 75.4,
      "wind_speed_mph": 4.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -600,
      "under_odds": null,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.5808,
      "model_under_probability": 0.4192,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8571,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2763,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2763,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Burke",
      "pitcher_id": 680732,
      "team_abbr": "CWS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -230,
      "under_odds": null,
      "expected_strikeouts": 4.21,
      "baseline_projected_strikeouts": 4.05,
      "adjusted_projected_strikeouts": 4.21,
      "skill_score": 20.7,
      "opportunity_score": 44.7,
      "opponent_weakness_score": 34.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 46.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.4068,
      "model_under_probability": 0.5932,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.697,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2902,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2902,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 33.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10284.0,
      "lineup_expected_strikeouts": 4.68,
      "environment_summary": "neutral",
      "temperature_f": 64.9,
      "wind_speed_mph": 9.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": -250,
      "under_odds": null,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.3676,
      "model_under_probability": 0.6324,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7143,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.3467,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.3467,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": -192,
      "under_odds": null,
      "expected_strikeouts": 5.82,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.82,
      "skill_score": 86.5,
      "opportunity_score": 53.2,
      "opponent_weakness_score": 41.3,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 42.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "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.253,
      "model_under_probability": 0.747,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6575,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.4045,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.4045,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.973,
      "aggregate_matchup_score": 69.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 84.4,
      "wind_speed_mph": 7.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": "PHI",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": "PHI",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": "PHI",
      "opponent_abbr": "LAD",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "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": "Braxton Ashcraft",
      "team_abbr": "PIT",
      "opponent_abbr": "MIN",
      "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": "MIN",
      "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": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "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": "Braxton Ashcraft",
      "team_abbr": "PIT",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Braxton Ashcraft",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 8.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jacob Misiorowski 10+ Strikeouts",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 9.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jacob Misiorowski 11+ Strikeouts",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 10.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jacob Misiorowski 12+ Strikeouts",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 11.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jordan Wicks",
      "team_abbr": "CHC",
      "opponent_abbr": "STL",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jordan Wicks",
      "team_abbr": "CHC",
      "opponent_abbr": "STL",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jordan Wicks",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jordan Wicks",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jordan Wicks",
      "team_abbr": "CHC",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jordan Wicks",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jordan Wicks",
      "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": "Nolan McLean",
      "team_abbr": "NYM",
      "opponent_abbr": "MIA",
      "sportsbook": "BetMGM",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": "NYM",
      "opponent_abbr": "MIA",
      "sportsbook": "DraftKings",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": "NYM",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nolan McLean",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 8.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ranger Su\u00e1rez",
      "team_abbr": "BOS",
      "opponent_abbr": "CLE",
      "sportsbook": "BetMGM",
      "line": 4.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": "CLE",
      "sportsbook": "DraftKings",
      "line": 4.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": "CLE",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": "TB",
      "opponent_abbr": "LAA",
      "sportsbook": "BetMGM",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": "TB",
      "opponent_abbr": "LAA",
      "sportsbook": "DraftKings",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": "TB",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Shane McClanahan",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 8.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "team_abbr": "TOR",
      "opponent_abbr": "BAL",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "team_abbr": "TOR",
      "opponent_abbr": "BAL",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "team_abbr": "TOR",
      "opponent_abbr": "BAL",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "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": "Spencer Miles",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Strider 10+ Strikeouts",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 9.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": "HOU",
      "opponent_abbr": "MIL",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": "HOU",
      "opponent_abbr": "MIL",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": "HOU",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": 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": "Tatsuya Imai",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tatsuya Imai",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}