{
  "date": "2026-04-18",
  "generated_at": "2026-04-18T11:06:44.749212",
  "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-18",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 24,
    "matched_count": 22,
    "unmatched_count": 2
  },
  "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": 22,
    "grouped_pitcher_count": 22,
    "sportsbook_count": 1
  },
  "edge_count": 22,
  "edges": [
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "BAL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": -146,
      "under_odds": 110,
      "expected_strikeouts": 6.02,
      "baseline_projected_strikeouts": 6.21,
      "adjusted_projected_strikeouts": 6.02,
      "skill_score": 70.9,
      "opportunity_score": 47.9,
      "opponent_weakness_score": 30.3,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 40.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3951,
      "model_under_probability": 0.6049,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5935,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5548,
      "implied_under_probability_novig": 0.4452,
      "edge_over": -0.1984,
      "edge_under": 0.1287,
      "recommended_side": "Under",
      "recommended_edge": 0.1287,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.19,
      "adjustment_multiplier": 0.96,
      "aggregate_matchup_score": 45.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.57,
      "environment_summary": "neutral",
      "temperature_f": 43.5,
      "wind_speed_mph": 16.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": -108,
      "under_odds": -122,
      "expected_strikeouts": 6.55,
      "baseline_projected_strikeouts": 6.17,
      "adjusted_projected_strikeouts": 6.55,
      "skill_score": 47.5,
      "opportunity_score": 54.6,
      "opponent_weakness_score": 53.0,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.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": "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.3434,
      "model_under_probability": 0.6566,
      "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.1758,
      "edge_under": 0.1071,
      "recommended_side": "Under",
      "recommended_edge": 0.1071,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.38,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.82,
      "environment_summary": "neutral",
      "temperature_f": 53.4,
      "wind_speed_mph": 8.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tarik Skubal",
      "pitcher_id": 669373,
      "team_abbr": "DET",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -108,
      "expected_strikeouts": 6.85,
      "baseline_projected_strikeouts": 6.39,
      "adjusted_projected_strikeouts": 6.85,
      "skill_score": 50.9,
      "opportunity_score": 59.5,
      "opponent_weakness_score": 53.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 30.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": "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.381,
      "model_under_probability": 0.619,
      "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.1685,
      "edge_under": 0.0998,
      "recommended_side": "Under",
      "recommended_edge": 0.0998,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.46,
      "adjustment_multiplier": 1.061,
      "aggregate_matchup_score": 80.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29251.0,
      "lineup_expected_strikeouts": 7.05,
      "environment_summary": "neutral",
      "temperature_f": 43.3,
      "wind_speed_mph": 7.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brandon Woodruff",
      "pitcher_id": 605540,
      "team_abbr": "MIL",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -154,
      "expected_strikeouts": 6.03,
      "baseline_projected_strikeouts": 5.5,
      "adjusted_projected_strikeouts": 6.03,
      "skill_score": 36.2,
      "opportunity_score": 38.2,
      "opponent_weakness_score": 57.3,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 72.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.5334,
      "model_under_probability": 0.4666,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.6063,
      "implied_over_probability_novig": 0.433,
      "implied_under_probability_novig": 0.567,
      "edge_over": 0.0704,
      "edge_under": -0.1397,
      "recommended_side": "Over",
      "recommended_edge": 0.0704,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.53,
      "adjustment_multiplier": 1.097,
      "aggregate_matchup_score": 82.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7949.0,
      "lineup_expected_strikeouts": 6.58,
      "environment_summary": "neutral",
      "temperature_f": 77.0,
      "wind_speed_mph": 5.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Drew Rasmussen",
      "pitcher_id": 656876,
      "team_abbr": "TB",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -112,
      "expected_strikeouts": 4.23,
      "baseline_projected_strikeouts": 4.15,
      "adjusted_projected_strikeouts": 4.23,
      "skill_score": 40.7,
      "opportunity_score": 15.2,
      "opponent_weakness_score": 38.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 97.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4103,
      "model_under_probability": 0.5897,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5283,
      "implied_over_probability_novig": 0.5061,
      "implied_under_probability_novig": 0.4939,
      "edge_over": -0.131,
      "edge_under": 0.0614,
      "recommended_side": "Under",
      "recommended_edge": 0.0614,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.02,
      "aggregate_matchup_score": 52.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 14022.0,
      "lineup_expected_strikeouts": 4.37,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Luis Severino",
      "pitcher_id": 622663,
      "team_abbr": "ATH",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -146,
      "expected_strikeouts": 4.91,
      "baseline_projected_strikeouts": 5.15,
      "adjusted_projected_strikeouts": 4.91,
      "skill_score": 29.3,
      "opportunity_score": 46.1,
      "opponent_weakness_score": 29.4,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 43.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3692,
      "model_under_probability": 0.6308,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5935,
      "implied_over_probability_novig": 0.4452,
      "implied_under_probability_novig": 0.5548,
      "edge_over": -0.107,
      "edge_under": 0.0373,
      "recommended_side": "Under",
      "recommended_edge": 0.0373,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.24,
      "adjustment_multiplier": 0.954,
      "aggregate_matchup_score": 43.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29975.0,
      "lineup_expected_strikeouts": 4.55,
      "environment_summary": "neutral",
      "temperature_f": 68.2,
      "wind_speed_mph": 4.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Noah Cameron",
      "pitcher_id": 702070,
      "team_abbr": "KC",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -132,
      "under_odds": 100,
      "expected_strikeouts": 4.55,
      "baseline_projected_strikeouts": 4.25,
      "adjusted_projected_strikeouts": 4.55,
      "skill_score": 23.0,
      "opportunity_score": 46.5,
      "opponent_weakness_score": 36.6,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 53.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4643,
      "model_under_probability": 0.5357,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.569,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5323,
      "implied_under_probability_novig": 0.4677,
      "edge_over": -0.1047,
      "edge_under": 0.0357,
      "recommended_side": "Under",
      "recommended_edge": 0.0357,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.3,
      "adjustment_multiplier": 1.071,
      "aggregate_matchup_score": 37.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10820.0,
      "lineup_expected_strikeouts": 5.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 63.7,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nathan Eovaldi",
      "pitcher_id": 543135,
      "team_abbr": "TEX",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -144,
      "under_odds": 108,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.69,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 67.5,
      "opportunity_score": 58.4,
      "opponent_weakness_score": 35.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 31.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4858,
      "model_under_probability": 0.5142,
      "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.1044,
      "edge_under": 0.0334,
      "recommended_side": "Under",
      "recommended_edge": 0.0334,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 50.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.67,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 52.9,
      "wind_speed_mph": 2.0,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 118,
      "expected_strikeouts": 5.86,
      "baseline_projected_strikeouts": 5.93,
      "adjusted_projected_strikeouts": 5.86,
      "skill_score": 25.5,
      "opportunity_score": 66.1,
      "opponent_weakness_score": 37.8,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 17.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.5099,
      "model_under_probability": 0.4901,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5717,
      "implied_under_probability_novig": 0.4283,
      "edge_over": -0.1025,
      "edge_under": 0.0314,
      "recommended_side": "Under",
      "recommended_edge": 0.0314,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.07,
      "adjustment_multiplier": 0.988,
      "aggregate_matchup_score": 59.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.6,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 52.9,
      "wind_speed_mph": 2.0,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Paul Skenes",
      "pitcher_id": 694973,
      "team_abbr": "PIT",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 102,
      "under_odds": -136,
      "expected_strikeouts": 6.08,
      "baseline_projected_strikeouts": 6.01,
      "adjusted_projected_strikeouts": 6.08,
      "skill_score": 45.9,
      "opportunity_score": 9.5,
      "opponent_weakness_score": 46.4,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 100.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4033,
      "model_under_probability": 0.5967,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.495,
      "implied_under_probability_raw": 0.5763,
      "implied_over_probability_novig": 0.4621,
      "implied_under_probability_novig": 0.5379,
      "edge_over": -0.0917,
      "edge_under": 0.0204,
      "recommended_side": "Under",
      "recommended_edge": 0.0204,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.012,
      "aggregate_matchup_score": 75.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23485.0,
      "lineup_expected_strikeouts": 5.87,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Dean Kremer",
      "pitcher_id": 665152,
      "team_abbr": "BAL",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 106,
      "under_odds": -140,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.74,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 53.3,
      "opportunity_score": 20.1,
      "opponent_weakness_score": 36.0,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 94.6,
      "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.5001,
      "model_under_probability": 0.4999,
      "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.0147,
      "edge_under": -0.0834,
      "recommended_side": "No Play",
      "recommended_edge": 0.0147,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.03,
      "adjustment_multiplier": 0.995,
      "aggregate_matchup_score": 52.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30294.0,
      "lineup_expected_strikeouts": 4.65,
      "environment_summary": "neutral",
      "temperature_f": 43.5,
      "wind_speed_mph": 16.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Adrian Houser",
      "pitcher_id": 605288,
      "team_abbr": "SF",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": 102,
      "under_odds": -136,
      "expected_strikeouts": 3.8,
      "baseline_projected_strikeouts": 3.67,
      "adjusted_projected_strikeouts": 3.8,
      "skill_score": 3.9,
      "opportunity_score": 59.2,
      "opponent_weakness_score": 34.2,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 36.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.5093,
      "model_under_probability": 0.4907,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.495,
      "implied_under_probability_raw": 0.5763,
      "implied_over_probability_novig": 0.4621,
      "implied_under_probability_novig": 0.5379,
      "edge_over": 0.0143,
      "edge_under": -0.0856,
      "recommended_side": "No Play",
      "recommended_edge": 0.0143,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.036,
      "aggregate_matchup_score": 34.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 17064.0,
      "lineup_expected_strikeouts": 4.19,
      "environment_summary": "neutral",
      "temperature_f": 70.5,
      "wind_speed_mph": 11.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Taj Bradley",
      "pitcher_id": 671737,
      "team_abbr": "MIN",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -158,
      "expected_strikeouts": 5.87,
      "baseline_projected_strikeouts": 5.63,
      "adjusted_projected_strikeouts": 5.87,
      "skill_score": 53.2,
      "opportunity_score": 59.9,
      "opponent_weakness_score": 43.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "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": "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.3745,
      "model_under_probability": 0.6255,
      "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.0842,
      "edge_under": 0.0131,
      "recommended_side": "No Play",
      "recommended_edge": 0.0131,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.033,
      "aggregate_matchup_score": 61.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25885.0,
      "lineup_expected_strikeouts": 6.01,
      "environment_summary": "neutral",
      "temperature_f": 43.7,
      "wind_speed_mph": 16.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Andrew Abbott",
      "pitcher_id": 671096,
      "team_abbr": "CIN",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -102,
      "under_odds": -130,
      "expected_strikeouts": 4.35,
      "baseline_projected_strikeouts": 3.96,
      "adjusted_projected_strikeouts": 4.35,
      "skill_score": 13.4,
      "opportunity_score": 39.6,
      "opponent_weakness_score": 41.2,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 59.6,
      "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.4308,
      "model_under_probability": 0.5692,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.505,
      "implied_under_probability_raw": 0.5652,
      "implied_over_probability_novig": 0.4719,
      "implied_under_probability_novig": 0.5281,
      "edge_over": -0.0742,
      "edge_under": 0.004,
      "recommended_side": "No Play",
      "recommended_edge": 0.004,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.39,
      "adjustment_multiplier": 1.088,
      "aggregate_matchup_score": 47.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 28405.0,
      "lineup_expected_strikeouts": 4.98,
      "environment_summary": "neutral",
      "temperature_f": 43.7,
      "wind_speed_mph": 16.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Erick Fedde",
      "pitcher_id": 607200,
      "team_abbr": "CWS",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 106,
      "expected_strikeouts": 3.85,
      "baseline_projected_strikeouts": 3.46,
      "adjusted_projected_strikeouts": 3.85,
      "skill_score": 12.1,
      "opportunity_score": 40.6,
      "opponent_weakness_score": 38.3,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 66.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.5184,
      "model_under_probability": 0.4816,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4854,
      "implied_over_probability_novig": 0.5458,
      "implied_under_probability_novig": 0.4542,
      "edge_over": -0.0649,
      "edge_under": -0.0038,
      "recommended_side": "No Play",
      "recommended_edge": -0.0038,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.39,
      "adjustment_multiplier": 1.112,
      "aggregate_matchup_score": 40.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21694.0,
      "lineup_expected_strikeouts": 5.07,
      "environment_summary": "neutral",
      "temperature_f": 68.2,
      "wind_speed_mph": 4.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brayan Bello",
      "pitcher_id": 678394,
      "team_abbr": "BOS",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -112,
      "under_odds": -118,
      "expected_strikeouts": 4.55,
      "baseline_projected_strikeouts": 4.16,
      "adjusted_projected_strikeouts": 4.55,
      "skill_score": 31.8,
      "opportunity_score": 43.8,
      "opponent_weakness_score": 37.7,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 57.4,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4643,
      "model_under_probability": 0.5357,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5283,
      "implied_under_probability_raw": 0.5413,
      "implied_over_probability_novig": 0.4939,
      "implied_under_probability_novig": 0.5061,
      "edge_over": -0.064,
      "edge_under": -0.0056,
      "recommended_side": "No Play",
      "recommended_edge": -0.0056,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.39,
      "adjustment_multiplier": 1.083,
      "aggregate_matchup_score": 39.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31869.0,
      "lineup_expected_strikeouts": 5.25,
      "environment_summary": "neutral",
      "temperature_f": 43.3,
      "wind_speed_mph": 7.6,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Andre Pallante",
      "pitcher_id": 669467,
      "team_abbr": "STL",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -160,
      "expected_strikeouts": 3.48,
      "baseline_projected_strikeouts": 3.14,
      "adjusted_projected_strikeouts": 3.48,
      "skill_score": 12.4,
      "opportunity_score": 40.7,
      "opponent_weakness_score": 35.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 63.2,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4487,
      "model_under_probability": 0.5513,
      "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.0058,
      "edge_under": -0.0641,
      "recommended_side": "No Play",
      "recommended_edge": -0.0058,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.34,
      "adjustment_multiplier": 1.098,
      "aggregate_matchup_score": 27.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 20588.0,
      "lineup_expected_strikeouts": 4.2,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 60.8,
      "wind_speed_mph": 12.4,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jameson Taillon",
      "pitcher_id": 592791,
      "team_abbr": "CHC",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -106,
      "expected_strikeouts": 4.72,
      "baseline_projected_strikeouts": 4.89,
      "adjusted_projected_strikeouts": 4.72,
      "skill_score": 43.7,
      "opportunity_score": 56.0,
      "opponent_weakness_score": 25.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": 39.3,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4921,
      "model_under_probability": 0.5079,
      "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.0635,
      "edge_under": -0.0067,
      "recommended_side": "No Play",
      "recommended_edge": -0.0067,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.17,
      "adjustment_multiplier": 0.955,
      "aggregate_matchup_score": 30.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27267.0,
      "lineup_expected_strikeouts": 4.47,
      "environment_summary": "neutral",
      "temperature_f": 40.8,
      "wind_speed_mph": 15.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Freddy Peralta",
      "pitcher_id": 642547,
      "team_abbr": "NYM",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -138,
      "under_odds": 104,
      "expected_strikeouts": 5.92,
      "baseline_projected_strikeouts": 5.78,
      "adjusted_projected_strikeouts": 5.92,
      "skill_score": 60.5,
      "opportunity_score": 35.2,
      "opponent_weakness_score": 43.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 86.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.5183,
      "model_under_probability": 0.4817,
      "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.0615,
      "edge_under": -0.0085,
      "recommended_side": "No Play",
      "recommended_edge": -0.0085,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.14,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 66.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 36211.0,
      "lineup_expected_strikeouts": 5.81,
      "environment_summary": "neutral",
      "temperature_f": 40.8,
      "wind_speed_mph": 15.1,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -138,
      "under_odds": 104,
      "expected_strikeouts": 5.18,
      "baseline_projected_strikeouts": 5.33,
      "adjusted_projected_strikeouts": 5.18,
      "skill_score": 24.0,
      "opportunity_score": 85.7,
      "opponent_weakness_score": 28.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 12.6,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5632,
      "model_under_probability": 0.4368,
      "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.0166,
      "edge_under": -0.0534,
      "recommended_side": "No Play",
      "recommended_edge": -0.0166,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.15,
      "adjustment_multiplier": 0.971,
      "aggregate_matchup_score": 39.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "neutral",
      "temperature_f": 77.0,
      "wind_speed_mph": 5.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Will Warren",
      "pitcher_id": 701542,
      "team_abbr": "NYY",
      "opponent_abbr": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -146,
      "under_odds": 110,
      "expected_strikeouts": 5.16,
      "baseline_projected_strikeouts": 5.42,
      "adjusted_projected_strikeouts": 5.16,
      "skill_score": 35.3,
      "opportunity_score": 26.1,
      "opponent_weakness_score": 28.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 74.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5602,
      "model_under_probability": 0.4398,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5935,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5548,
      "implied_under_probability_novig": 0.4452,
      "edge_over": -0.0333,
      "edge_under": -0.0364,
      "recommended_side": "No Play",
      "recommended_edge": -0.0333,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.26,
      "adjustment_multiplier": 0.952,
      "aggregate_matchup_score": 40.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15754.0,
      "lineup_expected_strikeouts": 4.79,
      "environment_summary": "hitter-friendly",
      "temperature_f": 63.7,
      "wind_speed_mph": 9.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -136,
      "under_odds": 102,
      "expected_strikeouts": 3.98,
      "baseline_projected_strikeouts": 3.73,
      "adjusted_projected_strikeouts": 3.98,
      "skill_score": 15.8,
      "opportunity_score": 8.8,
      "opponent_weakness_score": 38.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 96.1,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5416,
      "model_under_probability": 0.4584,
      "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.0347,
      "edge_under": -0.0366,
      "recommended_side": "No Play",
      "recommended_edge": -0.0347,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.067,
      "aggregate_matchup_score": 40.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 4.53,
      "environment_summary": "neutral",
      "temperature_f": 70.5,
      "wind_speed_mph": 11.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Cristopher Sanchez",
      "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": "Lance McCullers",
      "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."
    }
  ]
}