{
  "date": "2026-06-02",
  "generated_at": "2026-06-01T23:33:23.943749",
  "artifact_type": "strikeout_edges",
  "market_type": "pitcher_strikeouts",
  "model_version": "strikeout_edges_v1_overlay",
  "projection_model_version": "strikeout_props_v1_nb_overlay",
  "projection_date": "2026-06-02",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 63,
    "matched_count": 48,
    "unmatched_count": 15
  },
  "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": 48,
    "grouped_pitcher_count": 8,
    "sportsbook_count": 1
  },
  "edge_count": 48,
  "edges": [
    {
      "pitcher_name": "Bryce Elder",
      "pitcher_id": 693821,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 650,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 25.9,
      "opportunity_score": 48.0,
      "opponent_weakness_score": 25.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": 50.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.2421,
      "model_under_probability": 0.7579,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.1088,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.1088,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.935,
      "aggregate_matchup_score": 31.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24573.0,
      "lineup_expected_strikeouts": 4.48,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Elder",
      "pitcher_id": 693821,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 280,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 25.9,
      "opportunity_score": 48.0,
      "opponent_weakness_score": 25.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": 50.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.3676,
      "model_under_probability": 0.6324,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2632,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.1044,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.1044,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.935,
      "aggregate_matchup_score": 31.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24573.0,
      "lineup_expected_strikeouts": 4.48,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Dustin May",
      "pitcher_id": 669160,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -142,
      "under_odds": 116,
      "expected_strikeouts": 4.37,
      "baseline_projected_strikeouts": 4.2,
      "adjusted_projected_strikeouts": 4.37,
      "skill_score": 26.8,
      "opportunity_score": 59.0,
      "opponent_weakness_score": 34.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": 42.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.4342,
      "model_under_probability": 0.5658,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5868,
      "implied_under_probability_raw": 0.463,
      "implied_over_probability_novig": 0.559,
      "implied_under_probability_novig": 0.441,
      "edge_over": -0.1526,
      "edge_under": 0.1028,
      "recommended_side": "Under",
      "recommended_edge": 0.1028,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 32.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12285.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "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": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 122,
      "expected_strikeouts": 5.46,
      "baseline_projected_strikeouts": 5.38,
      "adjusted_projected_strikeouts": 5.46,
      "skill_score": 55.0,
      "opportunity_score": 83.5,
      "opponent_weakness_score": 41.5,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 12.0,
      "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.4523,
      "model_under_probability": 0.5477,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6,
      "implied_under_probability_raw": 0.4505,
      "implied_over_probability_novig": 0.5712,
      "implied_under_probability_novig": 0.4288,
      "edge_over": -0.1477,
      "edge_under": 0.0972,
      "recommended_side": "Under",
      "recommended_edge": 0.0972,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 61.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Nola",
      "pitcher_id": 605400,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 650,
      "under_odds": null,
      "expected_strikeouts": 5.4,
      "baseline_projected_strikeouts": 5.3,
      "adjusted_projected_strikeouts": 5.4,
      "skill_score": 37.9,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 38.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.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.2037,
      "model_under_probability": 0.7963,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0704,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0704,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.02,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29857.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 66.6,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Elder",
      "pitcher_id": 693821,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 122,
      "under_odds": -150,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 25.9,
      "opportunity_score": 48.0,
      "opponent_weakness_score": 25.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": 50.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.5207,
      "model_under_probability": 0.4793,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4505,
      "implied_under_probability_raw": 0.6,
      "implied_over_probability_novig": 0.4288,
      "implied_under_probability_novig": 0.5712,
      "edge_over": 0.0702,
      "edge_under": -0.1207,
      "recommended_side": "Over",
      "recommended_edge": 0.0702,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.935,
      "aggregate_matchup_score": 31.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24573.0,
      "lineup_expected_strikeouts": 4.48,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joey Cantillo",
      "pitcher_id": 676282,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 790,
      "under_odds": null,
      "expected_strikeouts": 5.15,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.15,
      "skill_score": 19.3,
      "opportunity_score": 28.8,
      "opponent_weakness_score": 38.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": 82.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.1758,
      "model_under_probability": 0.8242,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1124,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0634,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0634,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.036,
      "aggregate_matchup_score": 47.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8372.0,
      "lineup_expected_strikeouts": 5.52,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Nola",
      "pitcher_id": 605400,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 300,
      "under_odds": null,
      "expected_strikeouts": 5.4,
      "baseline_projected_strikeouts": 5.3,
      "adjusted_projected_strikeouts": 5.4,
      "skill_score": 37.9,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 38.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.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.3097,
      "model_under_probability": 0.6903,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.25,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0597,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0597,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.02,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29857.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 66.6,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joey Cantillo",
      "pitcher_id": 676282,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 360,
      "under_odds": null,
      "expected_strikeouts": 5.15,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.15,
      "skill_score": 19.3,
      "opportunity_score": 28.8,
      "opponent_weakness_score": 38.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": 82.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.2755,
      "model_under_probability": 0.7245,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2174,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0581,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0581,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.036,
      "aggregate_matchup_score": 47.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8372.0,
      "lineup_expected_strikeouts": 5.52,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Flaherty",
      "pitcher_id": 656427,
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 520,
      "under_odds": null,
      "expected_strikeouts": 5.41,
      "baseline_projected_strikeouts": 5.41,
      "adjusted_projected_strikeouts": 5.41,
      "skill_score": 36.1,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 39.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 71.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.2048,
      "model_under_probability": 0.7952,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1613,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0435,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0435,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 60.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 32117.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 81.1,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joey Cantillo",
      "pitcher_id": 676282,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 172,
      "under_odds": null,
      "expected_strikeouts": 5.15,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.15,
      "skill_score": 19.3,
      "opportunity_score": 28.8,
      "opponent_weakness_score": 38.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": 82.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.4059,
      "model_under_probability": 0.5941,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3676,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0383,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0383,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.036,
      "aggregate_matchup_score": 47.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8372.0,
      "lineup_expected_strikeouts": 5.52,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -142,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 40.0,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.3773,
      "model_under_probability": 0.6227,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.441,
      "implied_under_probability_novig": 0.559,
      "edge_over": -0.0857,
      "edge_under": 0.0359,
      "recommended_side": "Under",
      "recommended_edge": 0.0359,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.985,
      "aggregate_matchup_score": 68.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.48,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Flaherty",
      "pitcher_id": 656427,
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 250,
      "under_odds": null,
      "expected_strikeouts": 5.41,
      "baseline_projected_strikeouts": 5.41,
      "adjusted_projected_strikeouts": 5.41,
      "skill_score": 36.1,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 39.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 71.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.3111,
      "model_under_probability": 0.6889,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2857,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0254,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0254,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 60.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 32117.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 81.1,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joey Cantillo",
      "pitcher_id": 676282,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -105,
      "expected_strikeouts": 5.15,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.15,
      "skill_score": 19.3,
      "opportunity_score": 28.8,
      "opponent_weakness_score": 38.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": 82.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.5587,
      "model_under_probability": 0.4413,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5349,
      "implied_under_probability_raw": 0.5122,
      "implied_over_probability_novig": 0.5108,
      "implied_under_probability_novig": 0.4892,
      "edge_over": 0.0238,
      "edge_under": -0.0709,
      "recommended_side": "Over",
      "recommended_edge": 0.0238,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.036,
      "aggregate_matchup_score": 47.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8372.0,
      "lineup_expected_strikeouts": 5.52,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Nola",
      "pitcher_id": 605400,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 138,
      "under_odds": null,
      "expected_strikeouts": 5.4,
      "baseline_projected_strikeouts": 5.3,
      "adjusted_projected_strikeouts": 5.4,
      "skill_score": 37.9,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 38.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.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.4434,
      "model_under_probability": 0.5566,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4202,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0232,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0232,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.02,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29857.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 66.6,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kevin Gausman",
      "pitcher_id": 592332,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 390,
      "under_odds": null,
      "expected_strikeouts": 5.56,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.56,
      "skill_score": 29.6,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 36.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": 33.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.2221,
      "model_under_probability": 0.7779,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2041,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.018,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.018,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 51.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35829.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Elder",
      "pitcher_id": 693821,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -205,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 25.9,
      "opportunity_score": 48.0,
      "opponent_weakness_score": 25.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": 50.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.6838,
      "model_under_probability": 0.3162,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6721,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0117,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0117,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.935,
      "aggregate_matchup_score": 31.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24573.0,
      "lineup_expected_strikeouts": 4.48,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kevin Gausman",
      "pitcher_id": 592332,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -106,
      "under_odds": -114,
      "expected_strikeouts": 5.56,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.56,
      "skill_score": 29.6,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 36.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": 33.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.467,
      "model_under_probability": 0.533,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5146,
      "implied_under_probability_raw": 0.5327,
      "implied_over_probability_novig": 0.4914,
      "implied_under_probability_novig": 0.5086,
      "edge_over": -0.0476,
      "edge_under": 0.0003,
      "recommended_side": "No Play",
      "recommended_edge": 0.0003,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 51.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35829.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "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": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 630,
      "under_odds": null,
      "expected_strikeouts": 5.46,
      "baseline_projected_strikeouts": 5.38,
      "adjusted_projected_strikeouts": 5.46,
      "skill_score": 55.0,
      "opportunity_score": 83.5,
      "opponent_weakness_score": 41.5,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 12.0,
      "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.132,
      "model_under_probability": 0.868,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.137,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.005,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.005,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 61.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kevin Gausman",
      "pitcher_id": 592332,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 190,
      "under_odds": null,
      "expected_strikeouts": 5.56,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.56,
      "skill_score": 29.6,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 36.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": 33.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.3317,
      "model_under_probability": 0.6683,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3448,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0131,
      "edge_under": null,
      "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.02,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 51.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35829.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 440,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 40.0,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.172,
      "model_under_probability": 0.828,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1852,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0132,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0132,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.985,
      "aggregate_matchup_score": 68.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.48,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Dustin May",
      "pitcher_id": 669160,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 760,
      "under_odds": null,
      "expected_strikeouts": 4.37,
      "baseline_projected_strikeouts": 4.2,
      "adjusted_projected_strikeouts": 4.37,
      "skill_score": 26.8,
      "opportunity_score": 59.0,
      "opponent_weakness_score": 34.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": 42.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.1001,
      "model_under_probability": 0.8999,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1163,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0162,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0162,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 32.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12285.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Flaherty",
      "pitcher_id": 656427,
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -142,
      "expected_strikeouts": 5.41,
      "baseline_projected_strikeouts": 5.41,
      "adjusted_projected_strikeouts": 5.41,
      "skill_score": 36.1,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 39.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 71.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.4449,
      "model_under_probability": 0.5551,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5868,
      "implied_over_probability_novig": 0.441,
      "implied_under_probability_novig": 0.559,
      "edge_over": -0.0181,
      "edge_under": -0.0317,
      "recommended_side": "No Play",
      "recommended_edge": -0.0181,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 60.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 32117.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 81.1,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Nola",
      "pitcher_id": 605400,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -162,
      "under_odds": 132,
      "expected_strikeouts": 5.4,
      "baseline_projected_strikeouts": 5.3,
      "adjusted_projected_strikeouts": 5.4,
      "skill_score": 37.9,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 38.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.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.5948,
      "model_under_probability": 0.4052,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6183,
      "implied_under_probability_raw": 0.431,
      "implied_over_probability_novig": 0.5892,
      "implied_under_probability_novig": 0.4108,
      "edge_over": -0.0235,
      "edge_under": -0.0258,
      "recommended_side": "No Play",
      "recommended_edge": -0.0235,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.02,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29857.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 66.6,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Elder",
      "pitcher_id": 693821,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -590,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 5.24,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 25.9,
      "opportunity_score": 48.0,
      "opponent_weakness_score": 25.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": 50.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.8302,
      "model_under_probability": 0.1698,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8551,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0249,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0249,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.935,
      "aggregate_matchup_score": 31.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24573.0,
      "lineup_expected_strikeouts": 4.48,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joey Cantillo",
      "pitcher_id": 676282,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -300,
      "under_odds": null,
      "expected_strikeouts": 5.15,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.15,
      "skill_score": 19.3,
      "opportunity_score": 28.8,
      "opponent_weakness_score": 38.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": 82.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.7157,
      "model_under_probability": 0.2843,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.75,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0343,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0343,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.036,
      "aggregate_matchup_score": 47.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8372.0,
      "lineup_expected_strikeouts": 5.52,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Joey Cantillo",
      "pitcher_id": 676282,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -800,
      "under_odds": null,
      "expected_strikeouts": 5.15,
      "baseline_projected_strikeouts": 4.97,
      "adjusted_projected_strikeouts": 5.15,
      "skill_score": 19.3,
      "opportunity_score": 28.8,
      "opponent_weakness_score": 38.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": 82.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.8512,
      "model_under_probability": 0.1488,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8889,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0377,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0377,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.036,
      "aggregate_matchup_score": 47.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8372.0,
      "lineup_expected_strikeouts": 5.52,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "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": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 300,
      "under_odds": null,
      "expected_strikeouts": 5.46,
      "baseline_projected_strikeouts": 5.38,
      "adjusted_projected_strikeouts": 5.46,
      "skill_score": 55.0,
      "opportunity_score": 83.5,
      "opponent_weakness_score": 41.5,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 12.0,
      "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.2105,
      "model_under_probability": 0.7895,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.25,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0395,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0395,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 61.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Nola",
      "pitcher_id": 605400,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -385,
      "under_odds": null,
      "expected_strikeouts": 5.4,
      "baseline_projected_strikeouts": 5.3,
      "adjusted_projected_strikeouts": 5.4,
      "skill_score": 37.9,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 38.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.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.7448,
      "model_under_probability": 0.2552,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7938,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.049,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.049,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.02,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29857.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 66.6,
      "wind_speed_mph": 4.5,
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 220,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 40.0,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.2615,
      "model_under_probability": 0.7385,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3125,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.051,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.051,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.985,
      "aggregate_matchup_score": 68.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.48,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Dustin May",
      "pitcher_id": 669160,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 340,
      "under_odds": null,
      "expected_strikeouts": 4.37,
      "baseline_projected_strikeouts": 4.2,
      "adjusted_projected_strikeouts": 4.37,
      "skill_score": 26.8,
      "opportunity_score": 59.0,
      "opponent_weakness_score": 34.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": 42.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.1749,
      "model_under_probability": 0.8251,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2273,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0524,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0524,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 32.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12285.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Aaron Nola",
      "pitcher_id": 605400,
      "team_abbr": "PHI",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1250,
      "under_odds": null,
      "expected_strikeouts": 5.4,
      "baseline_projected_strikeouts": 5.3,
      "adjusted_projected_strikeouts": 5.4,
      "skill_score": 37.9,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 38.2,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 47.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.8697,
      "model_under_probability": 0.1303,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9259,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0562,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0562,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.02,
      "aggregate_matchup_score": 51.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 29857.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 66.6,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Flaherty",
      "pitcher_id": 656427,
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -188,
      "under_odds": null,
      "expected_strikeouts": 5.41,
      "baseline_projected_strikeouts": 5.41,
      "adjusted_projected_strikeouts": 5.41,
      "skill_score": 36.1,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 39.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 71.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.5962,
      "model_under_probability": 0.4038,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6528,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0566,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0566,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 60.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 32117.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 81.1,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Flaherty",
      "pitcher_id": 656427,
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -2000,
      "under_odds": null,
      "expected_strikeouts": 5.41,
      "baseline_projected_strikeouts": 5.41,
      "adjusted_projected_strikeouts": 5.41,
      "skill_score": 36.1,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 39.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 71.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.8704,
      "model_under_probability": 0.1296,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9524,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.082,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.082,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 60.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 32117.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 81.1,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kevin Gausman",
      "pitcher_id": 592332,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -3000,
      "under_odds": null,
      "expected_strikeouts": 5.56,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.56,
      "skill_score": 29.6,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 36.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": 33.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.8804,
      "model_under_probability": 0.1196,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9677,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0873,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0873,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 51.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35829.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jack Flaherty",
      "pitcher_id": 656427,
      "team_abbr": "DET",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -500,
      "under_odds": null,
      "expected_strikeouts": 5.41,
      "baseline_projected_strikeouts": 5.41,
      "adjusted_projected_strikeouts": 5.41,
      "skill_score": 36.1,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 39.3,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 71.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.7459,
      "model_under_probability": 0.2541,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0874,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0874,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.0,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 60.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 32117.0,
      "lineup_expected_strikeouts": 5.27,
      "environment_summary": "neutral",
      "temperature_f": 81.1,
      "wind_speed_mph": 4.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": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 140,
      "under_odds": null,
      "expected_strikeouts": 5.46,
      "baseline_projected_strikeouts": 5.38,
      "adjusted_projected_strikeouts": 5.46,
      "skill_score": 55.0,
      "opportunity_score": 83.5,
      "opponent_weakness_score": 41.5,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 12.0,
      "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.3179,
      "model_under_probability": 0.6821,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4167,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0988,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0988,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 61.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "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": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -4500,
      "under_odds": null,
      "expected_strikeouts": 5.46,
      "baseline_projected_strikeouts": 5.38,
      "adjusted_projected_strikeouts": 5.46,
      "skill_score": 55.0,
      "opportunity_score": 83.5,
      "opponent_weakness_score": 41.5,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 12.0,
      "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.8738,
      "model_under_probability": 0.1262,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9783,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1045,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1045,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 61.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kevin Gausman",
      "pitcher_id": 592332,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -260,
      "under_odds": null,
      "expected_strikeouts": 5.56,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.56,
      "skill_score": 29.6,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 36.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": 33.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.6168,
      "model_under_probability": 0.3832,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7222,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1054,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1054,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 51.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35829.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Dustin May",
      "pitcher_id": 669160,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 154,
      "under_odds": null,
      "expected_strikeouts": 4.37,
      "baseline_projected_strikeouts": 4.2,
      "adjusted_projected_strikeouts": 4.37,
      "skill_score": 26.8,
      "opportunity_score": 59.0,
      "opponent_weakness_score": 34.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": 42.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.2861,
      "model_under_probability": 0.7139,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3937,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1076,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1076,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 32.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12285.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kevin Gausman",
      "pitcher_id": 592332,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -750,
      "under_odds": null,
      "expected_strikeouts": 5.56,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.56,
      "skill_score": 29.6,
      "opportunity_score": 60.1,
      "opponent_weakness_score": 36.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": 33.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.762,
      "model_under_probability": 0.238,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8824,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1204,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1204,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.02,
      "adjustment_multiplier": 1.003,
      "aggregate_matchup_score": 51.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35829.0,
      "lineup_expected_strikeouts": 5.58,
      "environment_summary": "neutral",
      "temperature_f": 63.1,
      "wind_speed_mph": 9.8,
      "wind_direction": "in",
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -1400,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 40.0,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.7943,
      "model_under_probability": 0.2057,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.139,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.139,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.985,
      "aggregate_matchup_score": 68.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.48,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Dustin May",
      "pitcher_id": 669160,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1200,
      "under_odds": null,
      "expected_strikeouts": 4.37,
      "baseline_projected_strikeouts": 4.2,
      "adjusted_projected_strikeouts": 4.37,
      "skill_score": 26.8,
      "opportunity_score": 59.0,
      "opponent_weakness_score": 34.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": 42.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.7759,
      "model_under_probability": 0.2241,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9231,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1472,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1472,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 32.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12285.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "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": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -1000,
      "under_odds": null,
      "expected_strikeouts": 5.46,
      "baseline_projected_strikeouts": 5.38,
      "adjusted_projected_strikeouts": 5.46,
      "skill_score": 55.0,
      "opportunity_score": 83.5,
      "opponent_weakness_score": 41.5,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 12.0,
      "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.7513,
      "model_under_probability": 0.2487,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9091,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1578,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1578,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 61.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -205,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 40.0,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.5141,
      "model_under_probability": 0.4859,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6721,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.158,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.158,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.985,
      "aggregate_matchup_score": 68.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.48,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "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": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -450,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.98,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 40.0,
      "opportunity_score": 61.5,
      "opponent_weakness_score": 41.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 35.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.6594,
      "model_under_probability": 0.3406,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8182,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1588,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1588,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.985,
      "aggregate_matchup_score": 68.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.48,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.0,
      "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": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -340,
      "under_odds": null,
      "expected_strikeouts": 5.46,
      "baseline_projected_strikeouts": 5.38,
      "adjusted_projected_strikeouts": 5.46,
      "skill_score": 55.0,
      "opportunity_score": 83.5,
      "opponent_weakness_score": 41.5,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 12.0,
      "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.6032,
      "model_under_probability": 0.3968,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7727,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1695,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1695,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 61.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26779.0,
      "lineup_expected_strikeouts": 5.47,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Dustin May",
      "pitcher_id": 669160,
      "team_abbr": "STL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -350,
      "under_odds": null,
      "expected_strikeouts": 4.37,
      "baseline_projected_strikeouts": 4.2,
      "adjusted_projected_strikeouts": 4.37,
      "skill_score": 26.8,
      "opportunity_score": 59.0,
      "opponent_weakness_score": 34.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": 42.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.6067,
      "model_under_probability": 0.3933,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7778,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1711,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1711,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 32.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 12285.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "neutral",
      "temperature_f": 66.2,
      "wind_speed_mph": 4.5,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Connelly Early",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Connelly Early",
      "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": "Connelly Early",
      "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": "Connelly Early",
      "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": "Connelly Early",
      "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": "Connelly Early",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Randy Vasquez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Randy Vasquez",
      "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": "Randy Vasquez",
      "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": "Randy Vasquez",
      "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": "Steven Matz",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Steven Matz",
      "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": "Steven Matz",
      "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": "Steven Matz",
      "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": "Steven Matz",
      "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."
    }
  ]
}