{
  "date": "2026-04-28",
  "generated_at": "2026-04-28T06:50:10.030654",
  "artifact_type": "strikeout_edges",
  "market_type": "pitcher_strikeouts",
  "model_version": "strikeout_edges_v1_overlay",
  "projection_model_version": "strikeout_props_v1_nb_overlay",
  "projection_date": "2026-04-28",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 68,
    "matched_count": 45,
    "unmatched_count": 23
  },
  "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": 45,
    "grouped_pitcher_count": 18,
    "sportsbook_count": 2
  },
  "edge_count": 45,
  "edges": [
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "NYY",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:52.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -152,
      "under_odds": 119,
      "expected_strikeouts": 5.86,
      "baseline_projected_strikeouts": 5.58,
      "adjusted_projected_strikeouts": 5.86,
      "skill_score": 76.2,
      "opportunity_score": 28.1,
      "opponent_weakness_score": 46.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 77.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.3731,
      "model_under_probability": 0.6269,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6032,
      "implied_under_probability_raw": 0.4566,
      "implied_over_probability_novig": 0.5692,
      "implied_under_probability_novig": 0.4308,
      "edge_over": -0.2301,
      "edge_under": 0.1703,
      "recommended_side": "Under",
      "recommended_edge": 0.1703,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.05,
      "aggregate_matchup_score": 64.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 6.19,
      "environment_summary": "neutral",
      "temperature_f": 71.1,
      "wind_speed_mph": 7.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob deGrom",
      "pitcher_id": 594798,
      "team_abbr": "TEX",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:59.000Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -160,
      "expected_strikeouts": 5.86,
      "baseline_projected_strikeouts": 5.58,
      "adjusted_projected_strikeouts": 5.86,
      "skill_score": 76.2,
      "opportunity_score": 28.1,
      "opponent_weakness_score": 46.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 77.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.2579,
      "model_under_probability": 0.7421,
      "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.1966,
      "edge_under": 0.1267,
      "recommended_side": "Under",
      "recommended_edge": 0.1267,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.05,
      "aggregate_matchup_score": 64.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15111.0,
      "lineup_expected_strikeouts": 6.19,
      "environment_summary": "neutral",
      "temperature_f": 71.1,
      "wind_speed_mph": 7.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jes\u00fas Luzardo",
      "pitcher_id": 666200,
      "team_abbr": "PHI",
      "opponent_abbr": "SF",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:23.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -154,
      "under_odds": 120,
      "expected_strikeouts": 6.24,
      "baseline_projected_strikeouts": 6.3,
      "adjusted_projected_strikeouts": 6.24,
      "skill_score": 58.9,
      "opportunity_score": 64.9,
      "opponent_weakness_score": 41.1,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 26.1,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "PREMIUM_RUNWAY",
      "interaction_label": "Premium Runway",
      "interaction_note": "Support layers and runway all align into the cleanest strikeout pocket.",
      "trust_modifier": "PREMIUM_RUNWAY",
      "trust_label": "Premium Runway",
      "trust_note": "Support and leash context align strongly enough to mark the cleanest strikeout trust pocket.",
      "model_over_probability": 0.425,
      "model_under_probability": 0.575,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6063,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5715,
      "implied_under_probability_novig": 0.4285,
      "edge_over": -0.1813,
      "edge_under": 0.1205,
      "recommended_side": "Under",
      "recommended_edge": 0.1205,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 67.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 28361.0,
      "lineup_expected_strikeouts": 5.89,
      "environment_summary": "neutral",
      "temperature_f": 51.8,
      "wind_speed_mph": 6.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kris Bubic",
      "pitcher_id": 663460,
      "team_abbr": "KC",
      "opponent_abbr": "ATH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:38.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -133,
      "under_odds": 104,
      "expected_strikeouts": 5.24,
      "baseline_projected_strikeouts": 4.62,
      "adjusted_projected_strikeouts": 5.24,
      "skill_score": 34.6,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 49.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 40.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.4195,
      "model_under_probability": 0.5805,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5708,
      "implied_under_probability_raw": 0.4902,
      "implied_over_probability_novig": 0.538,
      "implied_under_probability_novig": 0.462,
      "edge_over": -0.1513,
      "edge_under": 0.0903,
      "recommended_side": "Under",
      "recommended_edge": 0.0903,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.62,
      "adjustment_multiplier": 1.134,
      "aggregate_matchup_score": 65.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9767.0,
      "lineup_expected_strikeouts": 6.22,
      "environment_summary": "neutral",
      "temperature_f": 58.6,
      "wind_speed_mph": 3.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "SF",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:53.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -108,
      "expected_strikeouts": 4.13,
      "baseline_projected_strikeouts": 3.88,
      "adjusted_projected_strikeouts": 4.13,
      "skill_score": 23.1,
      "opportunity_score": 52.6,
      "opponent_weakness_score": 39.4,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 43.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.393,
      "model_under_probability": 0.607,
      "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.1565,
      "edge_under": 0.0878,
      "recommended_side": "Under",
      "recommended_edge": 0.0878,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.065,
      "aggregate_matchup_score": 43.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.66,
      "environment_summary": "neutral",
      "temperature_f": 51.8,
      "wind_speed_mph": 6.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "SF",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -108,
      "expected_strikeouts": 4.13,
      "baseline_projected_strikeouts": 3.88,
      "adjusted_projected_strikeouts": 4.13,
      "skill_score": 23.1,
      "opportunity_score": 52.6,
      "opponent_weakness_score": 39.4,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 43.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.393,
      "model_under_probability": 0.607,
      "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.1565,
      "edge_under": 0.0878,
      "recommended_side": "Under",
      "recommended_edge": 0.0878,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.065,
      "aggregate_matchup_score": 43.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.66,
      "environment_summary": "neutral",
      "temperature_f": 51.8,
      "wind_speed_mph": 6.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Davis Martin",
      "pitcher_id": 663436,
      "team_abbr": "CWS",
      "opponent_abbr": "LAA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:44:01.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -160,
      "under_odds": 124,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 22.6,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 36.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 28.9,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.466,
      "model_under_probability": 0.534,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6154,
      "implied_under_probability_raw": 0.4464,
      "implied_over_probability_novig": 0.5796,
      "implied_under_probability_novig": 0.4204,
      "edge_over": -0.1494,
      "edge_under": 0.0876,
      "recommended_side": "Under",
      "recommended_edge": 0.0876,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.048,
      "aggregate_matchup_score": 38.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14498.0,
      "lineup_expected_strikeouts": 5.07,
      "environment_summary": "neutral",
      "temperature_f": 51.6,
      "wind_speed_mph": 2.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jes\u00fas Luzardo",
      "pitcher_id": 666200,
      "team_abbr": "PHI",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:53.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -138,
      "under_odds": 104,
      "expected_strikeouts": 6.24,
      "baseline_projected_strikeouts": 6.3,
      "adjusted_projected_strikeouts": 6.24,
      "skill_score": 58.9,
      "opportunity_score": 64.9,
      "opponent_weakness_score": 41.1,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 26.1,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "PREMIUM_RUNWAY",
      "interaction_label": "Premium Runway",
      "interaction_note": "Support layers and runway all align into the cleanest strikeout pocket.",
      "trust_modifier": "PREMIUM_RUNWAY",
      "trust_label": "Premium Runway",
      "trust_note": "Support and leash context align strongly enough to mark the cleanest strikeout trust pocket.",
      "model_over_probability": 0.425,
      "model_under_probability": 0.575,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5798,
      "implied_under_probability_raw": 0.4902,
      "implied_over_probability_novig": 0.5419,
      "implied_under_probability_novig": 0.4581,
      "edge_over": -0.1548,
      "edge_under": 0.0848,
      "recommended_side": "Under",
      "recommended_edge": 0.0848,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.06,
      "adjustment_multiplier": 0.991,
      "aggregate_matchup_score": 67.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 28361.0,
      "lineup_expected_strikeouts": 5.89,
      "environment_summary": "neutral",
      "temperature_f": 51.8,
      "wind_speed_mph": 6.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "SF",
      "opponent_abbr": "PHI",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:23.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -111,
      "under_odds": -114,
      "expected_strikeouts": 4.13,
      "baseline_projected_strikeouts": 3.88,
      "adjusted_projected_strikeouts": 4.13,
      "skill_score": 23.1,
      "opportunity_score": 52.6,
      "opponent_weakness_score": 39.4,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 43.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.393,
      "model_under_probability": 0.607,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5261,
      "implied_under_probability_raw": 0.5327,
      "implied_over_probability_novig": 0.4969,
      "implied_under_probability_novig": 0.5031,
      "edge_over": -0.1331,
      "edge_under": 0.0743,
      "recommended_side": "Under",
      "recommended_edge": 0.0743,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.065,
      "aggregate_matchup_score": 43.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.66,
      "environment_summary": "neutral",
      "temperature_f": 51.8,
      "wind_speed_mph": 6.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jos\u00e9 Soriano",
      "pitcher_id": 667755,
      "team_abbr": "LAA",
      "opponent_abbr": "CWS",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:44:01.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -142,
      "under_odds": 111,
      "expected_strikeouts": 5.49,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.49,
      "skill_score": 63.6,
      "opportunity_score": 65.1,
      "opponent_weakness_score": 35.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 23.0,
      "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.4567,
      "model_under_probability": 0.5433,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5868,
      "implied_under_probability_raw": 0.4739,
      "implied_over_probability_novig": 0.5532,
      "implied_under_probability_novig": 0.4468,
      "edge_over": -0.1301,
      "edge_under": 0.0694,
      "recommended_side": "Under",
      "recommended_edge": 0.0694,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 52.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 5.36,
      "environment_summary": "neutral",
      "temperature_f": 51.6,
      "wind_speed_mph": 2.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jos\u00e9 Soriano",
      "pitcher_id": 667755,
      "team_abbr": "LAA",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:38.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 5.49,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.49,
      "skill_score": 63.6,
      "opportunity_score": 65.1,
      "opponent_weakness_score": 35.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 23.0,
      "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.4567,
      "model_under_probability": 0.5433,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5511,
      "implied_under_probability_novig": 0.4489,
      "edge_over": -0.1335,
      "edge_under": 0.0625,
      "recommended_side": "Under",
      "recommended_edge": 0.0625,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.05,
      "adjustment_multiplier": 0.99,
      "aggregate_matchup_score": 52.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20556.0,
      "lineup_expected_strikeouts": 5.36,
      "environment_summary": "neutral",
      "temperature_f": 51.6,
      "wind_speed_mph": 2.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cam Schlittler",
      "pitcher_id": 693645,
      "team_abbr": "NYY",
      "opponent_abbr": "TEX",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:52.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -157,
      "under_odds": 123,
      "expected_strikeouts": 5.74,
      "baseline_projected_strikeouts": 5.53,
      "adjusted_projected_strikeouts": 5.74,
      "skill_score": 51.0,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 46.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.493,
      "model_under_probability": 0.507,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6109,
      "implied_under_probability_raw": 0.4484,
      "implied_over_probability_novig": 0.5767,
      "implied_under_probability_novig": 0.4233,
      "edge_over": -0.1179,
      "edge_under": 0.0586,
      "recommended_side": "Under",
      "recommended_edge": 0.0586,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 67.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.89,
      "environment_summary": "neutral",
      "temperature_f": 71.1,
      "wind_speed_mph": 7.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kris Bubic",
      "pitcher_id": 663460,
      "team_abbr": "KC",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:53.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -110,
      "expected_strikeouts": 5.24,
      "baseline_projected_strikeouts": 4.62,
      "adjusted_projected_strikeouts": 5.24,
      "skill_score": 34.6,
      "opportunity_score": 54.4,
      "opponent_weakness_score": 49.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 40.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.4195,
      "model_under_probability": 0.5805,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5455,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5101,
      "implied_under_probability_novig": 0.4899,
      "edge_over": -0.126,
      "edge_under": 0.0567,
      "recommended_side": "Under",
      "recommended_edge": 0.0567,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.62,
      "adjustment_multiplier": 1.134,
      "aggregate_matchup_score": 65.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9767.0,
      "lineup_expected_strikeouts": 6.22,
      "environment_summary": "neutral",
      "temperature_f": 58.6,
      "wind_speed_mph": 3.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cam Schlittler",
      "pitcher_id": 693645,
      "team_abbr": "NYY",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:59.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -144,
      "expected_strikeouts": 5.74,
      "baseline_projected_strikeouts": 5.53,
      "adjusted_projected_strikeouts": 5.74,
      "skill_score": 51.0,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 46.2,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 45.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3566,
      "model_under_probability": 0.6434,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4808,
      "implied_under_probability_raw": 0.5902,
      "implied_over_probability_novig": 0.4489,
      "implied_under_probability_novig": 0.5511,
      "edge_over": -0.1242,
      "edge_under": 0.0532,
      "recommended_side": "Under",
      "recommended_edge": 0.0532,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 67.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.89,
      "environment_summary": "neutral",
      "temperature_f": 71.1,
      "wind_speed_mph": 7.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Davis Martin",
      "pitcher_id": 663436,
      "team_abbr": "CWS",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:38.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 130,
      "under_odds": -174,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 22.6,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 36.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 28.9,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3152,
      "model_under_probability": 0.6848,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4348,
      "implied_under_probability_raw": 0.635,
      "implied_over_probability_novig": 0.4064,
      "implied_under_probability_novig": 0.5936,
      "edge_over": -0.1196,
      "edge_under": 0.0498,
      "recommended_side": "Under",
      "recommended_edge": 0.0498,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.048,
      "aggregate_matchup_score": 38.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14498.0,
      "lineup_expected_strikeouts": 5.07,
      "environment_summary": "neutral",
      "temperature_f": 51.6,
      "wind_speed_mph": 2.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Davis Martin",
      "pitcher_id": 663436,
      "team_abbr": "CWS",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 130,
      "under_odds": -174,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 22.6,
      "opportunity_score": 55.0,
      "opponent_weakness_score": 36.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 28.9,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3152,
      "model_under_probability": 0.6848,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4348,
      "implied_under_probability_raw": 0.635,
      "implied_over_probability_novig": 0.4064,
      "implied_under_probability_novig": 0.5936,
      "edge_over": -0.1196,
      "edge_under": 0.0498,
      "recommended_side": "Under",
      "recommended_edge": 0.0498,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.21,
      "adjustment_multiplier": 1.048,
      "aggregate_matchup_score": 38.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14498.0,
      "lineup_expected_strikeouts": 5.07,
      "environment_summary": "neutral",
      "temperature_f": 51.6,
      "wind_speed_mph": 2.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Casey Mize",
      "pitcher_id": 663554,
      "team_abbr": "DET",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:34.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 4.59,
      "baseline_projected_strikeouts": 4.76,
      "adjusted_projected_strikeouts": 4.59,
      "skill_score": 47.3,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 26.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 37.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.4709,
      "model_under_probability": 0.5291,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5511,
      "implied_under_probability_novig": 0.4489,
      "edge_over": -0.1193,
      "edge_under": 0.0483,
      "recommended_side": "Under",
      "recommended_edge": 0.0483,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.963,
      "aggregate_matchup_score": 30.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18609.0,
      "lineup_expected_strikeouts": 4.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Casey Mize",
      "pitcher_id": 663554,
      "team_abbr": "DET",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 4.59,
      "baseline_projected_strikeouts": 4.76,
      "adjusted_projected_strikeouts": 4.59,
      "skill_score": 47.3,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 26.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 37.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.4709,
      "model_under_probability": 0.5291,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5511,
      "implied_under_probability_novig": 0.4489,
      "edge_over": -0.1193,
      "edge_under": 0.0483,
      "recommended_side": "Under",
      "recommended_edge": 0.0483,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.963,
      "aggregate_matchup_score": 30.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18609.0,
      "lineup_expected_strikeouts": 4.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Janson Junk",
      "pitcher_id": 676083,
      "team_abbr": "MIA",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:38.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 101,
      "under_odds": -129,
      "expected_strikeouts": 3.18,
      "baseline_projected_strikeouts": 3.2,
      "adjusted_projected_strikeouts": 3.18,
      "skill_score": 3.2,
      "opportunity_score": 41.5,
      "opponent_weakness_score": 31.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": 55.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.389,
      "model_under_probability": 0.611,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4975,
      "implied_under_probability_raw": 0.5633,
      "implied_over_probability_novig": 0.469,
      "implied_under_probability_novig": 0.531,
      "edge_over": -0.1085,
      "edge_under": 0.0477,
      "recommended_side": "Under",
      "recommended_edge": 0.0477,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.995,
      "aggregate_matchup_score": 18.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.39,
      "environment_summary": "neutral",
      "temperature_f": 53.8,
      "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 Martinez",
      "pitcher_id": 607259,
      "team_abbr": "TB",
      "opponent_abbr": "CLE",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:21.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -138,
      "under_odds": 108,
      "expected_strikeouts": 3.65,
      "baseline_projected_strikeouts": 3.46,
      "adjusted_projected_strikeouts": 3.65,
      "skill_score": 13.1,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 39.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 29.0,
      "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.4814,
      "model_under_probability": 0.5186,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5798,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5467,
      "implied_under_probability_novig": 0.4533,
      "edge_over": -0.0984,
      "edge_under": 0.0378,
      "recommended_side": "Under",
      "recommended_edge": 0.0378,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.054,
      "aggregate_matchup_score": 44.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18769.0,
      "lineup_expected_strikeouts": 4.04,
      "environment_summary": "neutral",
      "temperature_f": 55.8,
      "wind_speed_mph": 5.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Casey Mize",
      "pitcher_id": 663554,
      "team_abbr": "DET",
      "opponent_abbr": "ATL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:02.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -132,
      "under_odds": 103,
      "expected_strikeouts": 4.59,
      "baseline_projected_strikeouts": 4.76,
      "adjusted_projected_strikeouts": 4.59,
      "skill_score": 47.3,
      "opportunity_score": 53.9,
      "opponent_weakness_score": 26.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 37.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.4709,
      "model_under_probability": 0.5291,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.569,
      "implied_under_probability_raw": 0.4926,
      "implied_over_probability_novig": 0.536,
      "implied_under_probability_novig": 0.464,
      "edge_over": -0.0981,
      "edge_under": 0.0365,
      "recommended_side": "Under",
      "recommended_edge": 0.0365,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.963,
      "aggregate_matchup_score": 30.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18609.0,
      "lineup_expected_strikeouts": 4.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.3,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Martinez",
      "pitcher_id": 607259,
      "team_abbr": "TB",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:57.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -138,
      "under_odds": 104,
      "expected_strikeouts": 3.65,
      "baseline_projected_strikeouts": 3.46,
      "adjusted_projected_strikeouts": 3.65,
      "skill_score": 13.1,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 39.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 29.0,
      "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.4814,
      "model_under_probability": 0.5186,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5798,
      "implied_under_probability_raw": 0.4902,
      "implied_over_probability_novig": 0.5419,
      "implied_under_probability_novig": 0.4581,
      "edge_over": -0.0984,
      "edge_under": 0.0284,
      "recommended_side": "Under",
      "recommended_edge": 0.0284,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.054,
      "aggregate_matchup_score": 44.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18769.0,
      "lineup_expected_strikeouts": 4.04,
      "environment_summary": "neutral",
      "temperature_f": 55.8,
      "wind_speed_mph": 5.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Martinez",
      "pitcher_id": 607259,
      "team_abbr": "TB",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -138,
      "under_odds": 104,
      "expected_strikeouts": 3.65,
      "baseline_projected_strikeouts": 3.46,
      "adjusted_projected_strikeouts": 3.65,
      "skill_score": 13.1,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 39.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 29.0,
      "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.4814,
      "model_under_probability": 0.5186,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5798,
      "implied_under_probability_raw": 0.4902,
      "implied_over_probability_novig": 0.5419,
      "implied_under_probability_novig": 0.4581,
      "edge_over": -0.0984,
      "edge_under": 0.0284,
      "recommended_side": "Under",
      "recommended_edge": 0.0284,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.19,
      "adjustment_multiplier": 1.054,
      "aggregate_matchup_score": 44.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18769.0,
      "lineup_expected_strikeouts": 4.04,
      "environment_summary": "neutral",
      "temperature_f": 55.8,
      "wind_speed_mph": 5.5,
      "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": "LAD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:29.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 106,
      "under_odds": -140,
      "expected_strikeouts": 3.18,
      "baseline_projected_strikeouts": 3.2,
      "adjusted_projected_strikeouts": 3.18,
      "skill_score": 3.2,
      "opportunity_score": 41.5,
      "opponent_weakness_score": 31.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": 55.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.389,
      "model_under_probability": 0.611,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4854,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4542,
      "implied_under_probability_novig": 0.5458,
      "edge_over": -0.0964,
      "edge_under": 0.0277,
      "recommended_side": "Under",
      "recommended_edge": 0.0277,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.995,
      "aggregate_matchup_score": 18.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6842.0,
      "lineup_expected_strikeouts": 3.39,
      "environment_summary": "neutral",
      "temperature_f": 53.8,
      "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": "Tanner Bibee",
      "pitcher_id": 676440,
      "team_abbr": "CLE",
      "opponent_abbr": "TB",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:21.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -102,
      "under_odds": -125,
      "expected_strikeouts": 4.97,
      "baseline_projected_strikeouts": 4.85,
      "adjusted_projected_strikeouts": 4.97,
      "skill_score": 26.1,
      "opportunity_score": 42.8,
      "opponent_weakness_score": 41.1,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 55.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.5315,
      "model_under_probability": 0.4685,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.505,
      "implied_under_probability_raw": 0.5556,
      "implied_over_probability_novig": 0.4761,
      "implied_under_probability_novig": 0.5239,
      "edge_over": 0.0265,
      "edge_under": -0.0871,
      "recommended_side": "Over",
      "recommended_edge": 0.0265,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 57.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.12,
      "environment_summary": "neutral",
      "temperature_f": 55.8,
      "wind_speed_mph": 5.5,
      "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": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:57.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -122,
      "expected_strikeouts": 4.97,
      "baseline_projected_strikeouts": 4.85,
      "adjusted_projected_strikeouts": 4.97,
      "skill_score": 26.1,
      "opportunity_score": 42.8,
      "opponent_weakness_score": 41.1,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 55.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.5315,
      "model_under_probability": 0.4685,
      "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.0123,
      "edge_under": -0.081,
      "recommended_side": "No Play",
      "recommended_edge": 0.0123,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 57.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.12,
      "environment_summary": "neutral",
      "temperature_f": 55.8,
      "wind_speed_mph": 5.5,
      "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": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -122,
      "expected_strikeouts": 4.97,
      "baseline_projected_strikeouts": 4.85,
      "adjusted_projected_strikeouts": 4.97,
      "skill_score": 26.1,
      "opportunity_score": 42.8,
      "opponent_weakness_score": 41.1,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 55.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.5315,
      "model_under_probability": 0.4685,
      "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.0123,
      "edge_under": -0.081,
      "recommended_side": "No Play",
      "recommended_edge": 0.0123,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 57.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33227.0,
      "lineup_expected_strikeouts": 5.12,
      "environment_summary": "neutral",
      "temperature_f": 55.8,
      "wind_speed_mph": 5.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "SEA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:06.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -156,
      "under_odds": 120,
      "expected_strikeouts": 6.11,
      "baseline_projected_strikeouts": 5.79,
      "adjusted_projected_strikeouts": 6.11,
      "skill_score": 34.5,
      "opportunity_score": 43.2,
      "opponent_weakness_score": 45.6,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 48.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.5443,
      "model_under_probability": 0.4557,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6094,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5728,
      "implied_under_probability_novig": 0.4272,
      "edge_over": -0.0651,
      "edge_under": 0.0012,
      "recommended_side": "No Play",
      "recommended_edge": 0.0012,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.32,
      "adjustment_multiplier": 1.044,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 6.32,
      "environment_summary": "neutral",
      "temperature_f": 41.9,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Shane Baz",
      "pitcher_id": 669358,
      "team_abbr": "BAL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:44:03.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 4.91,
      "baseline_projected_strikeouts": 4.77,
      "adjusted_projected_strikeouts": 4.91,
      "skill_score": 13.7,
      "opportunity_score": 68.0,
      "opponent_weakness_score": 38.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.4,
      "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.5222,
      "model_under_probability": 0.4778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5511,
      "implied_under_probability_novig": 0.4489,
      "edge_over": -0.068,
      "edge_under": -0.003,
      "recommended_side": "No Play",
      "recommended_edge": -0.003,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.14,
      "adjustment_multiplier": 1.029,
      "aggregate_matchup_score": 48.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18414.0,
      "lineup_expected_strikeouts": 5.19,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 5.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Shane Baz",
      "pitcher_id": 669358,
      "team_abbr": "BAL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 4.91,
      "baseline_projected_strikeouts": 4.77,
      "adjusted_projected_strikeouts": 4.91,
      "skill_score": 13.7,
      "opportunity_score": 68.0,
      "opponent_weakness_score": 38.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.4,
      "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.5222,
      "model_under_probability": 0.4778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5511,
      "implied_under_probability_novig": 0.4489,
      "edge_over": -0.068,
      "edge_under": -0.003,
      "recommended_side": "No Play",
      "recommended_edge": -0.003,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.14,
      "adjustment_multiplier": 1.029,
      "aggregate_matchup_score": 48.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18414.0,
      "lineup_expected_strikeouts": 5.19,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 5.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Clay Holmes",
      "pitcher_id": 605280,
      "team_abbr": "NYM",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:36.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -166,
      "under_odds": 124,
      "expected_strikeouts": 4.11,
      "baseline_projected_strikeouts": 4.06,
      "adjusted_projected_strikeouts": 4.11,
      "skill_score": 15.3,
      "opportunity_score": 58.3,
      "opponent_weakness_score": 30.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 31.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.564,
      "model_under_probability": 0.436,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6241,
      "implied_under_probability_raw": 0.4464,
      "implied_over_probability_novig": 0.583,
      "implied_under_probability_novig": 0.417,
      "edge_over": -0.0601,
      "edge_under": -0.0104,
      "recommended_side": "No Play",
      "recommended_edge": -0.0104,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 31.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13465.0,
      "lineup_expected_strikeouts": 4.27,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 46.2,
      "wind_speed_mph": 5.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Clay Holmes",
      "pitcher_id": 605280,
      "team_abbr": "NYM",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -166,
      "under_odds": 124,
      "expected_strikeouts": 4.11,
      "baseline_projected_strikeouts": 4.06,
      "adjusted_projected_strikeouts": 4.11,
      "skill_score": 15.3,
      "opportunity_score": 58.3,
      "opponent_weakness_score": 30.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 31.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.564,
      "model_under_probability": 0.436,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6241,
      "implied_under_probability_raw": 0.4464,
      "implied_over_probability_novig": 0.583,
      "implied_under_probability_novig": 0.417,
      "edge_over": -0.0601,
      "edge_under": -0.0104,
      "recommended_side": "No Play",
      "recommended_edge": -0.0104,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 31.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13465.0,
      "lineup_expected_strikeouts": 4.27,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 46.2,
      "wind_speed_mph": 5.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Logan Gilbert",
      "pitcher_id": 669302,
      "team_abbr": "SEA",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:44:00.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -136,
      "under_odds": 102,
      "expected_strikeouts": 6.27,
      "baseline_projected_strikeouts": 6.11,
      "adjusted_projected_strikeouts": 6.27,
      "skill_score": 45.4,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 44.8,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 40.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.5654,
      "model_under_probability": 0.4346,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5763,
      "implied_under_probability_raw": 0.495,
      "implied_over_probability_novig": 0.5379,
      "implied_under_probability_novig": 0.4621,
      "edge_over": -0.0109,
      "edge_under": -0.0604,
      "recommended_side": "No Play",
      "recommended_edge": -0.0109,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 70.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31714.0,
      "lineup_expected_strikeouts": 6.1,
      "environment_summary": "neutral",
      "temperature_f": 41.9,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Logan Gilbert",
      "pitcher_id": 669302,
      "team_abbr": "SEA",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -136,
      "under_odds": 102,
      "expected_strikeouts": 6.27,
      "baseline_projected_strikeouts": 6.11,
      "adjusted_projected_strikeouts": 6.27,
      "skill_score": 45.4,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 44.8,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 40.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.5654,
      "model_under_probability": 0.4346,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5763,
      "implied_under_probability_raw": 0.495,
      "implied_over_probability_novig": 0.5379,
      "implied_under_probability_novig": 0.4621,
      "edge_over": -0.0109,
      "edge_under": -0.0604,
      "recommended_side": "No Play",
      "recommended_edge": -0.0109,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 70.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31714.0,
      "lineup_expected_strikeouts": 6.1,
      "environment_summary": "neutral",
      "temperature_f": 41.9,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chad Patrick",
      "pitcher_id": 694477,
      "team_abbr": "MIL",
      "opponent_abbr": "AZ",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:34.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 127,
      "under_odds": -162,
      "expected_strikeouts": 4.3,
      "baseline_projected_strikeouts": 4.18,
      "adjusted_projected_strikeouts": 4.3,
      "skill_score": 8.7,
      "opportunity_score": 29.1,
      "opponent_weakness_score": 37.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": 90.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4222,
      "model_under_probability": 0.5778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4405,
      "implied_under_probability_raw": 0.6183,
      "implied_over_probability_novig": 0.416,
      "implied_under_probability_novig": 0.584,
      "edge_over": -0.0183,
      "edge_under": -0.0405,
      "recommended_side": "No Play",
      "recommended_edge": -0.0183,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.029,
      "aggregate_matchup_score": 45.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9640.0,
      "lineup_expected_strikeouts": 4.58,
      "environment_summary": "neutral",
      "temperature_f": 51.3,
      "wind_speed_mph": 5.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Shane Baz",
      "pitcher_id": 669358,
      "team_abbr": "BAL",
      "opponent_abbr": "HOU",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:28.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -129,
      "under_odds": 101,
      "expected_strikeouts": 4.91,
      "baseline_projected_strikeouts": 4.77,
      "adjusted_projected_strikeouts": 4.91,
      "skill_score": 13.7,
      "opportunity_score": 68.0,
      "opponent_weakness_score": 38.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 22.4,
      "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.5222,
      "model_under_probability": 0.4778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5633,
      "implied_under_probability_raw": 0.4975,
      "implied_over_probability_novig": 0.531,
      "implied_under_probability_novig": 0.469,
      "edge_over": -0.0411,
      "edge_under": -0.0197,
      "recommended_side": "No Play",
      "recommended_edge": -0.0197,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.14,
      "adjustment_multiplier": 1.029,
      "aggregate_matchup_score": 48.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18414.0,
      "lineup_expected_strikeouts": 5.19,
      "environment_summary": "neutral",
      "temperature_f": 50.5,
      "wind_speed_mph": 5.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Clay Holmes",
      "pitcher_id": 605280,
      "team_abbr": "NYM",
      "opponent_abbr": "WSH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:40.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -152,
      "under_odds": 119,
      "expected_strikeouts": 4.11,
      "baseline_projected_strikeouts": 4.06,
      "adjusted_projected_strikeouts": 4.11,
      "skill_score": 15.3,
      "opportunity_score": 58.3,
      "opponent_weakness_score": 30.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 31.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.564,
      "model_under_probability": 0.436,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6032,
      "implied_under_probability_raw": 0.4566,
      "implied_over_probability_novig": 0.5692,
      "implied_under_probability_novig": 0.4308,
      "edge_over": -0.0392,
      "edge_under": -0.0206,
      "recommended_side": "No Play",
      "recommended_edge": -0.0206,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 31.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 13465.0,
      "lineup_expected_strikeouts": 4.27,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 46.2,
      "wind_speed_mph": 5.0,
      "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": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -106,
      "expected_strikeouts": 3.93,
      "baseline_projected_strikeouts": 3.7,
      "adjusted_projected_strikeouts": 3.93,
      "skill_score": 10.1,
      "opportunity_score": 38.0,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 62.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.5328,
      "model_under_probability": 0.4672,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5556,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5192,
      "implied_under_probability_novig": 0.4808,
      "edge_over": -0.0228,
      "edge_under": -0.0474,
      "recommended_side": "No Play",
      "recommended_edge": -0.0228,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.23,
      "adjustment_multiplier": 1.051,
      "aggregate_matchup_score": 32.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26904.0,
      "lineup_expected_strikeouts": 4.4,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 46.2,
      "wind_speed_mph": 5.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Edward Cabrera",
      "pitcher_id": 665795,
      "team_abbr": "CHC",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:46.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -114,
      "under_odds": -114,
      "expected_strikeouts": 4.83,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.83,
      "skill_score": 19.9,
      "opportunity_score": 53.0,
      "opponent_weakness_score": 37.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 31.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.5097,
      "model_under_probability": 0.4903,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5327,
      "implied_under_probability_raw": 0.5327,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.023,
      "edge_under": -0.0424,
      "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.15,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 45.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23128.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 57.2,
      "wind_speed_mph": 2.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Logan Gilbert",
      "pitcher_id": 669302,
      "team_abbr": "SEA",
      "opponent_abbr": "MIN",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:06.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -143,
      "under_odds": 111,
      "expected_strikeouts": 6.27,
      "baseline_projected_strikeouts": 6.11,
      "adjusted_projected_strikeouts": 6.27,
      "skill_score": 45.4,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 44.8,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 40.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.5654,
      "model_under_probability": 0.4346,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5885,
      "implied_under_probability_raw": 0.4739,
      "implied_over_probability_novig": 0.5539,
      "implied_under_probability_novig": 0.4461,
      "edge_over": -0.0231,
      "edge_under": -0.0393,
      "recommended_side": "No Play",
      "recommended_edge": -0.0231,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 70.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31714.0,
      "lineup_expected_strikeouts": 6.1,
      "environment_summary": "neutral",
      "temperature_f": 41.9,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Edward Cabrera",
      "pitcher_id": 665795,
      "team_abbr": "CHC",
      "opponent_abbr": "SD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:42.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -119,
      "under_odds": -106,
      "expected_strikeouts": 4.83,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 4.83,
      "skill_score": 19.9,
      "opportunity_score": 53.0,
      "opponent_weakness_score": 37.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 31.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.5097,
      "model_under_probability": 0.4903,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5434,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5136,
      "implied_under_probability_novig": 0.4864,
      "edge_over": -0.0337,
      "edge_under": -0.0243,
      "recommended_side": "No Play",
      "recommended_edge": -0.0243,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.15,
      "adjustment_multiplier": 1.031,
      "aggregate_matchup_score": 45.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23128.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 57.2,
      "wind_speed_mph": 2.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:44:00.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 6.11,
      "baseline_projected_strikeouts": 5.79,
      "adjusted_projected_strikeouts": 6.11,
      "skill_score": 34.5,
      "opportunity_score": 43.2,
      "opponent_weakness_score": 45.6,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 48.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.5443,
      "model_under_probability": 0.4557,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5511,
      "implied_under_probability_novig": 0.4489,
      "edge_over": -0.0459,
      "edge_under": -0.0251,
      "recommended_side": "No Play",
      "recommended_edge": -0.0251,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.32,
      "adjustment_multiplier": 1.044,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 6.32,
      "environment_summary": "neutral",
      "temperature_f": 41.9,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joe Ryan",
      "pitcher_id": 657746,
      "team_abbr": "MIN",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 6.11,
      "baseline_projected_strikeouts": 5.79,
      "adjusted_projected_strikeouts": 6.11,
      "skill_score": 34.5,
      "opportunity_score": 43.2,
      "opponent_weakness_score": 45.6,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 48.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.5443,
      "model_under_probability": 0.4557,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5902,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5511,
      "implied_under_probability_novig": 0.4489,
      "edge_over": -0.0459,
      "edge_under": -0.0251,
      "recommended_side": "No Play",
      "recommended_edge": -0.0251,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.32,
      "adjustment_multiplier": 1.044,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29998.0,
      "lineup_expected_strikeouts": 6.32,
      "environment_summary": "neutral",
      "temperature_f": 41.9,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chad Patrick",
      "pitcher_id": 694477,
      "team_abbr": "MIL",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-04-28T10:43:55.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -158,
      "expected_strikeouts": 4.3,
      "baseline_projected_strikeouts": 4.18,
      "adjusted_projected_strikeouts": 4.3,
      "skill_score": 8.7,
      "opportunity_score": 29.1,
      "opponent_weakness_score": 37.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": 90.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4222,
      "model_under_probability": 0.5778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": 0.6124,
      "implied_over_probability_novig": 0.4283,
      "implied_under_probability_novig": 0.5717,
      "edge_over": -0.0365,
      "edge_under": -0.0346,
      "recommended_side": "No Play",
      "recommended_edge": -0.0346,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.029,
      "aggregate_matchup_score": 45.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9640.0,
      "lineup_expected_strikeouts": 4.58,
      "environment_summary": "neutral",
      "temperature_f": 51.3,
      "wind_speed_mph": 5.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chad Patrick",
      "pitcher_id": 694477,
      "team_abbr": "MIL",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -158,
      "expected_strikeouts": 4.3,
      "baseline_projected_strikeouts": 4.18,
      "adjusted_projected_strikeouts": 4.3,
      "skill_score": 8.7,
      "opportunity_score": 29.1,
      "opponent_weakness_score": 37.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": 90.4,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4222,
      "model_under_probability": 0.5778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": 0.6124,
      "implied_over_probability_novig": 0.4283,
      "implied_under_probability_novig": 0.5717,
      "edge_over": -0.0365,
      "edge_under": -0.0346,
      "recommended_side": "No Play",
      "recommended_edge": -0.0346,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.029,
      "aggregate_matchup_score": 45.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9640.0,
      "lineup_expected_strikeouts": 4.58,
      "environment_summary": "neutral",
      "temperature_f": 51.3,
      "wind_speed_mph": 5.7,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Aaron Civale",
      "team_abbr": "OAK",
      "opponent_abbr": "KC",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Aaron Civale",
      "team_abbr": "OAK",
      "opponent_abbr": "KC",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chase Burns",
      "team_abbr": "CIN",
      "opponent_abbr": "COL",
      "sportsbook": "DraftKings",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chase Burns",
      "team_abbr": "CIN",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Chase Burns",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jesus Luzardo",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jose Soriano",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Kai-Wei Teng",
      "team_abbr": "HOU",
      "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": "Kai-Wei Teng",
      "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": "Kyle Freeland",
      "team_abbr": "COL",
      "opponent_abbr": "CIN",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Kyle Leahy",
      "team_abbr": "STL",
      "opponent_abbr": "PIT",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Kyle Leahy",
      "team_abbr": "STL",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Kyle Leahy",
      "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": "Martin Perez",
      "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": "Merrill Kelly",
      "team_abbr": "ARI",
      "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": "Payton Tolle",
      "team_abbr": "BOS",
      "opponent_abbr": "TOR",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": "BOS",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "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": "Shohei Ohtani",
      "team_abbr": "LAD",
      "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": "Shohei Ohtani",
      "team_abbr": "LAD",
      "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": "Trey Yesavage",
      "team_abbr": "TOR",
      "opponent_abbr": "BOS",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Trey Yesavage",
      "team_abbr": "TOR",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Trey Yesavage",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}