{
  "date": "2026-09-24",
  "generated_at": "2026-09-24T23:44:13.153182",
  "artifact_type": "strikeout_edges",
  "market_type": "pitcher_strikeouts",
  "model_version": "strikeout_edges_v1_overlay",
  "projection_model_version": "strikeout_props_v2_calibrated_ladder",
  "projection_date": "2026-09-24",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 65,
    "matched_count": 36,
    "unmatched_count": 29
  },
  "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": 36,
    "grouped_pitcher_count": 12,
    "sportsbook_count": 3
  },
  "edge_count": 36,
  "edges": [
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -136,
      "under_odds": 106,
      "expected_strikeouts": 4.59,
      "baseline_projected_strikeouts": 4.41,
      "adjusted_projected_strikeouts": 4.59,
      "skill_score": 22.3,
      "opportunity_score": 59.8,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 38.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3199,
      "model_under_probability": 0.6801,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5763,
      "implied_under_probability_raw": 0.4854,
      "implied_over_probability_novig": 0.5428,
      "implied_under_probability_novig": 0.4572,
      "edge_over": -0.2564,
      "edge_under": 0.1947,
      "recommended_side": "Under",
      "recommended_edge": 0.1947,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 49.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.93,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 6.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryan Woo",
      "pitcher_id": 693433,
      "team_abbr": "SEA",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 124,
      "expected_strikeouts": 5.76,
      "baseline_projected_strikeouts": 5.12,
      "adjusted_projected_strikeouts": 5.76,
      "skill_score": 35.4,
      "opportunity_score": 57.0,
      "opponent_weakness_score": 55.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 36.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.3593,
      "model_under_probability": 0.6407,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4464,
      "implied_over_probability_novig": 0.5784,
      "implied_under_probability_novig": 0.4216,
      "edge_over": -0.2531,
      "edge_under": 0.1943,
      "recommended_side": "Under",
      "recommended_edge": 0.1943,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.64,
      "adjustment_multiplier": 1.125,
      "aggregate_matchup_score": 79.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24778.0,
      "lineup_expected_strikeouts": 6.57,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 53.8,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -132,
      "under_odds": 103,
      "expected_strikeouts": 4.59,
      "baseline_projected_strikeouts": 4.41,
      "adjusted_projected_strikeouts": 4.59,
      "skill_score": 22.3,
      "opportunity_score": 59.8,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 38.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3199,
      "model_under_probability": 0.6801,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.569,
      "implied_under_probability_raw": 0.4926,
      "implied_over_probability_novig": 0.536,
      "implied_under_probability_novig": 0.464,
      "edge_over": -0.2491,
      "edge_under": 0.1875,
      "recommended_side": "Under",
      "recommended_edge": 0.1875,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 49.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.93,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 6.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Mahle",
      "pitcher_id": 641816,
      "team_abbr": "ATL",
      "opponent_abbr": "CIN",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:22.227Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -135,
      "under_odds": 100,
      "expected_strikeouts": 4.59,
      "baseline_projected_strikeouts": 4.41,
      "adjusted_projected_strikeouts": 4.59,
      "skill_score": 22.3,
      "opportunity_score": 59.8,
      "opponent_weakness_score": 39.9,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 38.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3199,
      "model_under_probability": 0.6801,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5745,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5347,
      "implied_under_probability_novig": 0.4653,
      "edge_over": -0.2546,
      "edge_under": 0.1801,
      "recommended_side": "Under",
      "recommended_edge": 0.1801,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.041,
      "aggregate_matchup_score": 49.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 9084.0,
      "lineup_expected_strikeouts": 4.93,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 6.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryan Woo",
      "pitcher_id": 693433,
      "team_abbr": "SEA",
      "opponent_abbr": "LAA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:45.402Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -145,
      "under_odds": 105,
      "expected_strikeouts": 5.76,
      "baseline_projected_strikeouts": 5.12,
      "adjusted_projected_strikeouts": 5.76,
      "skill_score": 35.4,
      "opportunity_score": 57.0,
      "opponent_weakness_score": 55.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 36.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.3593,
      "model_under_probability": 0.6407,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5918,
      "implied_under_probability_raw": 0.4878,
      "implied_over_probability_novig": 0.5482,
      "implied_under_probability_novig": 0.4518,
      "edge_over": -0.2325,
      "edge_under": 0.1529,
      "recommended_side": "Under",
      "recommended_edge": 0.1529,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.64,
      "adjustment_multiplier": 1.125,
      "aggregate_matchup_score": 79.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24778.0,
      "lineup_expected_strikeouts": 6.57,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 53.8,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryan Woo",
      "pitcher_id": 693433,
      "team_abbr": "SEA",
      "opponent_abbr": "LAA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 121,
      "under_odds": -155,
      "expected_strikeouts": 5.76,
      "baseline_projected_strikeouts": 5.12,
      "adjusted_projected_strikeouts": 5.76,
      "skill_score": 35.4,
      "opportunity_score": 57.0,
      "opponent_weakness_score": 55.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 36.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.2458,
      "model_under_probability": 0.7542,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4525,
      "implied_under_probability_raw": 0.6078,
      "implied_over_probability_novig": 0.4268,
      "implied_under_probability_novig": 0.5732,
      "edge_over": -0.2067,
      "edge_under": 0.1464,
      "recommended_side": "Under",
      "recommended_edge": 0.1464,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.64,
      "adjustment_multiplier": 1.125,
      "aggregate_matchup_score": 79.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24778.0,
      "lineup_expected_strikeouts": 6.57,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 53.8,
      "wind_speed_mph": 3.4,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Glasnow",
      "pitcher_id": 607192,
      "team_abbr": "LAD",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -148,
      "expected_strikeouts": 6.37,
      "baseline_projected_strikeouts": 6.27,
      "adjusted_projected_strikeouts": 6.37,
      "skill_score": 70.7,
      "opportunity_score": 45.9,
      "opponent_weakness_score": 45.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3209,
      "model_under_probability": 0.6791,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5968,
      "implied_over_probability_novig": 0.4369,
      "implied_under_probability_novig": 0.5631,
      "edge_over": -0.1421,
      "edge_under": 0.0823,
      "recommended_side": "Under",
      "recommended_edge": 0.0823,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 72.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21126.0,
      "lineup_expected_strikeouts": 6.23,
      "environment_summary": "neutral",
      "temperature_f": 67.3,
      "wind_speed_mph": 1.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Glasnow",
      "pitcher_id": 607192,
      "team_abbr": "LAD",
      "opponent_abbr": "SD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 119,
      "under_odds": -152,
      "expected_strikeouts": 6.37,
      "baseline_projected_strikeouts": 6.27,
      "adjusted_projected_strikeouts": 6.37,
      "skill_score": 70.7,
      "opportunity_score": 45.9,
      "opponent_weakness_score": 45.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3209,
      "model_under_probability": 0.6791,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4566,
      "implied_under_probability_raw": 0.6032,
      "implied_over_probability_novig": 0.4308,
      "implied_under_probability_novig": 0.5692,
      "edge_over": -0.1357,
      "edge_under": 0.0759,
      "recommended_side": "Under",
      "recommended_edge": 0.0759,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 72.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21126.0,
      "lineup_expected_strikeouts": 6.23,
      "environment_summary": "neutral",
      "temperature_f": 67.3,
      "wind_speed_mph": 1.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tyler Glasnow",
      "pitcher_id": 607192,
      "team_abbr": "LAD",
      "opponent_abbr": "SD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:35.223Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 105,
      "expected_strikeouts": 6.37,
      "baseline_projected_strikeouts": 6.27,
      "adjusted_projected_strikeouts": 6.37,
      "skill_score": 70.7,
      "opportunity_score": 45.9,
      "opponent_weakness_score": 45.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4425,
      "model_under_probability": 0.5575,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4878,
      "implied_over_probability_novig": 0.5446,
      "implied_under_probability_novig": 0.4554,
      "edge_over": -0.1408,
      "edge_under": 0.0697,
      "recommended_side": "Under",
      "recommended_edge": 0.0697,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.1,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 72.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 21126.0,
      "lineup_expected_strikeouts": 6.23,
      "environment_summary": "neutral",
      "temperature_f": 67.3,
      "wind_speed_mph": 1.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Pivetta",
      "pitcher_id": 601713,
      "team_abbr": "SD",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:35.223Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -120,
      "expected_strikeouts": 5.39,
      "baseline_projected_strikeouts": 5.34,
      "adjusted_projected_strikeouts": 5.39,
      "skill_score": 36.8,
      "opportunity_score": 12.0,
      "opponent_weakness_score": 36.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 97.6,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5934,
      "model_under_probability": 0.4066,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5455,
      "implied_over_probability_novig": 0.4899,
      "implied_under_probability_novig": 0.5101,
      "edge_over": 0.0696,
      "edge_under": -0.1389,
      "recommended_side": "Over",
      "recommended_edge": 0.0696,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.009,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27855.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 67.3,
      "wind_speed_mph": 1.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eduardo Rodriguez",
      "pitcher_id": 593958,
      "team_abbr": "AZ",
      "opponent_abbr": "COL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:14.310Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 4.61,
      "baseline_projected_strikeouts": 4.09,
      "adjusted_projected_strikeouts": 4.61,
      "skill_score": 26.3,
      "opportunity_score": 71.1,
      "opponent_weakness_score": 46.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 18.1,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4742,
      "model_under_probability": 0.5258,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6078,
      "implied_under_probability_raw": 0.4651,
      "implied_over_probability_novig": 0.5665,
      "implied_under_probability_novig": 0.4335,
      "edge_over": -0.1336,
      "edge_under": 0.0607,
      "recommended_side": "Under",
      "recommended_edge": 0.0607,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.52,
      "adjustment_multiplier": 1.127,
      "aggregate_matchup_score": 58.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 5.84,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.2,
      "wind_speed_mph": 9.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ranger Suarez",
      "pitcher_id": 624133,
      "team_abbr": "BOS",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -148,
      "expected_strikeouts": 4.91,
      "baseline_projected_strikeouts": 4.65,
      "adjusted_projected_strikeouts": 4.91,
      "skill_score": 17.2,
      "opportunity_score": 56.6,
      "opponent_weakness_score": 44.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 57.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5222,
      "model_under_probability": 0.4778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5968,
      "implied_over_probability_novig": 0.4369,
      "implied_under_probability_novig": 0.5631,
      "edge_over": 0.0592,
      "edge_under": -0.119,
      "recommended_side": "Over",
      "recommended_edge": 0.0592,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.046,
      "aggregate_matchup_score": 59.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 48.6,
      "wind_speed_mph": 5.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Pivetta",
      "pitcher_id": 601713,
      "team_abbr": "SD",
      "opponent_abbr": "LAD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -111,
      "expected_strikeouts": 5.39,
      "baseline_projected_strikeouts": 5.34,
      "adjusted_projected_strikeouts": 5.39,
      "skill_score": 36.8,
      "opportunity_score": 12.0,
      "opponent_weakness_score": 36.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 97.6,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5934,
      "model_under_probability": 0.4066,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5349,
      "implied_under_probability_raw": 0.5261,
      "implied_over_probability_novig": 0.5041,
      "implied_under_probability_novig": 0.4959,
      "edge_over": 0.0585,
      "edge_under": -0.1195,
      "recommended_side": "Over",
      "recommended_edge": 0.0585,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.009,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27855.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 67.3,
      "wind_speed_mph": 1.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Nick Pivetta",
      "pitcher_id": 601713,
      "team_abbr": "SD",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -119,
      "under_odds": -107,
      "expected_strikeouts": 5.39,
      "baseline_projected_strikeouts": 5.34,
      "adjusted_projected_strikeouts": 5.39,
      "skill_score": 36.8,
      "opportunity_score": 12.0,
      "opponent_weakness_score": 36.2,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 97.6,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5934,
      "model_under_probability": 0.4066,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5434,
      "implied_under_probability_raw": 0.5169,
      "implied_over_probability_novig": 0.5125,
      "implied_under_probability_novig": 0.4875,
      "edge_over": 0.05,
      "edge_under": -0.1103,
      "recommended_side": "Over",
      "recommended_edge": 0.05,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.05,
      "adjustment_multiplier": 1.009,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27855.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 67.3,
      "wind_speed_mph": 1.4,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eduardo Rodriguez",
      "pitcher_id": 593958,
      "team_abbr": "AZ",
      "opponent_abbr": "COL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 110,
      "expected_strikeouts": 4.61,
      "baseline_projected_strikeouts": 4.09,
      "adjusted_projected_strikeouts": 4.61,
      "skill_score": 26.3,
      "opportunity_score": 71.1,
      "opponent_weakness_score": 46.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 18.1,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4742,
      "model_under_probability": 0.5258,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5505,
      "implied_under_probability_novig": 0.4495,
      "edge_over": -0.1091,
      "edge_under": 0.0496,
      "recommended_side": "Under",
      "recommended_edge": 0.0496,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.52,
      "adjustment_multiplier": 1.127,
      "aggregate_matchup_score": 58.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 5.84,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.2,
      "wind_speed_mph": 9.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brady Singer",
      "pitcher_id": 663903,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -128,
      "under_odds": 100,
      "expected_strikeouts": 4.36,
      "baseline_projected_strikeouts": 3.95,
      "adjusted_projected_strikeouts": 4.36,
      "skill_score": 16.5,
      "opportunity_score": 59.9,
      "opponent_weakness_score": 37.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6051,
      "model_under_probability": 0.3949,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5614,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5289,
      "implied_under_probability_novig": 0.4711,
      "edge_over": 0.0437,
      "edge_under": -0.1051,
      "recommended_side": "Over",
      "recommended_edge": 0.0437,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.104,
      "aggregate_matchup_score": 38.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33950.0,
      "lineup_expected_strikeouts": 5.24,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 6.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ranger Suarez",
      "pitcher_id": 624133,
      "team_abbr": "BOS",
      "opponent_abbr": "CLE",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -138,
      "expected_strikeouts": 4.91,
      "baseline_projected_strikeouts": 4.65,
      "adjusted_projected_strikeouts": 4.91,
      "skill_score": 17.2,
      "opportunity_score": 56.6,
      "opponent_weakness_score": 44.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 57.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5222,
      "model_under_probability": 0.4778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4808,
      "implied_under_probability_raw": 0.5798,
      "implied_over_probability_novig": 0.4533,
      "implied_under_probability_novig": 0.5467,
      "edge_over": 0.0414,
      "edge_under": -0.102,
      "recommended_side": "Over",
      "recommended_edge": 0.0414,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.046,
      "aggregate_matchup_score": 59.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 48.6,
      "wind_speed_mph": 5.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ranger Suarez",
      "pitcher_id": 624133,
      "team_abbr": "BOS",
      "opponent_abbr": "CLE",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:38.610Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 4.91,
      "baseline_projected_strikeouts": 4.65,
      "adjusted_projected_strikeouts": 4.91,
      "skill_score": 17.2,
      "opportunity_score": 56.6,
      "opponent_weakness_score": 44.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 57.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5222,
      "model_under_probability": 0.4778,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": 0.0344,
      "edge_under": -0.1055,
      "recommended_side": "Over",
      "recommended_edge": 0.0344,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.046,
      "aggregate_matchup_score": 59.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27635.0,
      "lineup_expected_strikeouts": 5.15,
      "environment_summary": "neutral",
      "temperature_f": 48.6,
      "wind_speed_mph": 5.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Boyd",
      "pitcher_id": 571510,
      "team_abbr": "CHC",
      "opponent_abbr": "MIA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:19.238Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -135,
      "expected_strikeouts": 4.98,
      "baseline_projected_strikeouts": 4.99,
      "adjusted_projected_strikeouts": 4.98,
      "skill_score": 15.8,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 36.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5331,
      "model_under_probability": 0.4669,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5,
      "implied_under_probability_raw": 0.5745,
      "implied_over_probability_novig": 0.4653,
      "implied_under_probability_novig": 0.5347,
      "edge_over": 0.0331,
      "edge_under": -0.1076,
      "recommended_side": "Over",
      "recommended_edge": 0.0331,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 52.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19940.0,
      "lineup_expected_strikeouts": 4.92,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 8.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Eduardo Rodriguez",
      "pitcher_id": 593958,
      "team_abbr": "AZ",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -130,
      "under_odds": 102,
      "expected_strikeouts": 4.61,
      "baseline_projected_strikeouts": 4.09,
      "adjusted_projected_strikeouts": 4.61,
      "skill_score": 26.3,
      "opportunity_score": 71.1,
      "opponent_weakness_score": 46.3,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 18.1,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4742,
      "model_under_probability": 0.5258,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5652,
      "implied_under_probability_raw": 0.495,
      "implied_over_probability_novig": 0.5331,
      "implied_under_probability_novig": 0.4669,
      "edge_over": -0.091,
      "edge_under": 0.0308,
      "recommended_side": "Under",
      "recommended_edge": 0.0308,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.52,
      "adjustment_multiplier": 1.127,
      "aggregate_matchup_score": 58.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23520.0,
      "lineup_expected_strikeouts": 5.84,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.2,
      "wind_speed_mph": 9.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": "TB",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -146,
      "expected_strikeouts": 5.91,
      "baseline_projected_strikeouts": 6.0,
      "adjusted_projected_strikeouts": 5.91,
      "skill_score": 66.8,
      "opportunity_score": 56.8,
      "opponent_weakness_score": 39.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 31.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.38,
      "model_under_probability": 0.62,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.5935,
      "implied_over_probability_novig": 0.4405,
      "implied_under_probability_novig": 0.5595,
      "edge_over": -0.0873,
      "edge_under": 0.0265,
      "recommended_side": "Under",
      "recommended_edge": 0.0265,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.975,
      "aggregate_matchup_score": 65.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.37,
      "environment_summary": "neutral",
      "temperature_f": 54.3,
      "wind_speed_mph": 10.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brady Singer",
      "pitcher_id": 663903,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -139,
      "under_odds": 109,
      "expected_strikeouts": 4.36,
      "baseline_projected_strikeouts": 3.95,
      "adjusted_projected_strikeouts": 4.36,
      "skill_score": 16.5,
      "opportunity_score": 59.9,
      "opponent_weakness_score": 37.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6051,
      "model_under_probability": 0.3949,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5816,
      "implied_under_probability_raw": 0.4785,
      "implied_over_probability_novig": 0.5486,
      "implied_under_probability_novig": 0.4514,
      "edge_over": 0.0235,
      "edge_under": -0.0836,
      "recommended_side": "Over",
      "recommended_edge": 0.0235,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.104,
      "aggregate_matchup_score": 38.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33950.0,
      "lineup_expected_strikeouts": 5.24,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 6.3,
      "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": "TB",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 121,
      "under_odds": -154,
      "expected_strikeouts": 5.91,
      "baseline_projected_strikeouts": 6.0,
      "adjusted_projected_strikeouts": 5.91,
      "skill_score": 66.8,
      "opportunity_score": 56.8,
      "opponent_weakness_score": 39.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 31.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.38,
      "model_under_probability": 0.62,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4525,
      "implied_under_probability_raw": 0.6063,
      "implied_over_probability_novig": 0.4274,
      "implied_under_probability_novig": 0.5726,
      "edge_over": -0.0725,
      "edge_under": 0.0137,
      "recommended_side": "No Play",
      "recommended_edge": 0.0137,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.975,
      "aggregate_matchup_score": 65.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.37,
      "environment_summary": "neutral",
      "temperature_f": 54.3,
      "wind_speed_mph": 10.5,
      "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": "TB",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:20.951Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 115,
      "under_odds": -155,
      "expected_strikeouts": 5.91,
      "baseline_projected_strikeouts": 6.0,
      "adjusted_projected_strikeouts": 5.91,
      "skill_score": 66.8,
      "opportunity_score": 56.8,
      "opponent_weakness_score": 39.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 31.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.38,
      "model_under_probability": 0.62,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4651,
      "implied_under_probability_raw": 0.6078,
      "implied_over_probability_novig": 0.4335,
      "implied_under_probability_novig": 0.5665,
      "edge_over": -0.0851,
      "edge_under": 0.0122,
      "recommended_side": "No Play",
      "recommended_edge": 0.0122,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.09,
      "adjustment_multiplier": 0.975,
      "aggregate_matchup_score": 65.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6265.0,
      "lineup_expected_strikeouts": 5.37,
      "environment_summary": "neutral",
      "temperature_f": 54.3,
      "wind_speed_mph": 10.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kumar Rocker",
      "pitcher_id": 677958,
      "team_abbr": "TEX",
      "opponent_abbr": "NYM",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:20.025Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -135,
      "expected_strikeouts": 4.26,
      "baseline_projected_strikeouts": 4.23,
      "adjusted_projected_strikeouts": 4.26,
      "skill_score": 27.0,
      "opportunity_score": 27.2,
      "opponent_weakness_score": 32.4,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.3,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4154,
      "model_under_probability": 0.5846,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5,
      "implied_under_probability_raw": 0.5745,
      "implied_over_probability_novig": 0.4653,
      "implied_under_probability_novig": 0.5347,
      "edge_over": -0.0846,
      "edge_under": 0.0101,
      "recommended_side": "No Play",
      "recommended_edge": 0.0101,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.03,
      "adjustment_multiplier": 1.017,
      "aggregate_matchup_score": 30.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6507.0,
      "lineup_expected_strikeouts": 4.63,
      "environment_summary": "neutral",
      "temperature_f": 93.2,
      "wind_speed_mph": 7.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kumar Rocker",
      "pitcher_id": 677958,
      "team_abbr": "TEX",
      "opponent_abbr": "NYM",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 109,
      "under_odds": -139,
      "expected_strikeouts": 4.26,
      "baseline_projected_strikeouts": 4.23,
      "adjusted_projected_strikeouts": 4.26,
      "skill_score": 27.0,
      "opportunity_score": 27.2,
      "opponent_weakness_score": 32.4,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.3,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4154,
      "model_under_probability": 0.5846,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4785,
      "implied_under_probability_raw": 0.5816,
      "implied_over_probability_novig": 0.4514,
      "implied_under_probability_novig": 0.5486,
      "edge_over": -0.0631,
      "edge_under": 0.003,
      "recommended_side": "No Play",
      "recommended_edge": 0.003,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.03,
      "adjustment_multiplier": 1.017,
      "aggregate_matchup_score": 30.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6507.0,
      "lineup_expected_strikeouts": 4.63,
      "environment_summary": "neutral",
      "temperature_f": 93.2,
      "wind_speed_mph": 7.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brady Singer",
      "pitcher_id": 663903,
      "team_abbr": "CIN",
      "opponent_abbr": "ATL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:22.227Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 4.36,
      "baseline_projected_strikeouts": 3.95,
      "adjusted_projected_strikeouts": 4.36,
      "skill_score": 16.5,
      "opportunity_score": 59.9,
      "opponent_weakness_score": 37.1,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 39.6,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6051,
      "model_under_probability": 0.3949,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6078,
      "implied_under_probability_raw": 0.4651,
      "implied_over_probability_novig": 0.5665,
      "implied_under_probability_novig": 0.4335,
      "edge_over": -0.0027,
      "edge_under": -0.0702,
      "recommended_side": "No Play",
      "recommended_edge": -0.0027,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.104,
      "aggregate_matchup_score": 38.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33950.0,
      "lineup_expected_strikeouts": 5.24,
      "environment_summary": "neutral",
      "temperature_f": 64.0,
      "wind_speed_mph": 6.3,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "AZ",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:55:14.310Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -110,
      "expected_strikeouts": 3.66,
      "baseline_projected_strikeouts": 4.0,
      "adjusted_projected_strikeouts": 3.66,
      "skill_score": 3.9,
      "opportunity_score": 43.9,
      "opponent_weakness_score": 25.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 57.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.4833,
      "model_under_probability": 0.5167,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5455,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5101,
      "implied_under_probability_novig": 0.4899,
      "edge_over": -0.0622,
      "edge_under": -0.0071,
      "recommended_side": "No Play",
      "recommended_edge": -0.0071,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.916,
      "aggregate_matchup_score": 22.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.2,
      "wind_speed_mph": 9.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "AZ",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -116,
      "under_odds": -110,
      "expected_strikeouts": 3.66,
      "baseline_projected_strikeouts": 4.0,
      "adjusted_projected_strikeouts": 3.66,
      "skill_score": 3.9,
      "opportunity_score": 43.9,
      "opponent_weakness_score": 25.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 57.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.4833,
      "model_under_probability": 0.5167,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.537,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5062,
      "implied_under_probability_novig": 0.4938,
      "edge_over": -0.0537,
      "edge_under": -0.0071,
      "recommended_side": "No Play",
      "recommended_edge": -0.0071,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.916,
      "aggregate_matchup_score": 22.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.2,
      "wind_speed_mph": 9.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Paul Skenes",
      "pitcher_id": 694973,
      "team_abbr": "PIT",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -148,
      "under_odds": 116,
      "expected_strikeouts": 6.11,
      "baseline_projected_strikeouts": 5.72,
      "adjusted_projected_strikeouts": 6.11,
      "skill_score": 28.7,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 54.3,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 49.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5443,
      "model_under_probability": 0.4557,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5968,
      "implied_under_probability_raw": 0.463,
      "implied_over_probability_novig": 0.5631,
      "implied_under_probability_novig": 0.4369,
      "edge_over": -0.0525,
      "edge_under": -0.0073,
      "recommended_side": "No Play",
      "recommended_edge": -0.0073,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.39,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 80.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23485.0,
      "lineup_expected_strikeouts": 6.43,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 65.1,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Boyd",
      "pitcher_id": 571510,
      "team_abbr": "CHC",
      "opponent_abbr": "MIA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -108,
      "expected_strikeouts": 4.98,
      "baseline_projected_strikeouts": 4.99,
      "adjusted_projected_strikeouts": 4.98,
      "skill_score": 15.8,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 36.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5331,
      "model_under_probability": 0.4669,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5192,
      "implied_over_probability_novig": 0.5104,
      "implied_under_probability_novig": 0.4896,
      "edge_over": -0.0082,
      "edge_under": -0.0523,
      "recommended_side": "No Play",
      "recommended_edge": -0.0082,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 52.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19940.0,
      "lineup_expected_strikeouts": 4.92,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 8.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Matthew Boyd",
      "pitcher_id": 571510,
      "team_abbr": "CHC",
      "opponent_abbr": "MIA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -106,
      "expected_strikeouts": 4.98,
      "baseline_projected_strikeouts": 4.99,
      "adjusted_projected_strikeouts": 4.98,
      "skill_score": 15.8,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 36.1,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5331,
      "model_under_probability": 0.4669,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5455,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5146,
      "implied_under_probability_novig": 0.4854,
      "edge_over": -0.0124,
      "edge_under": -0.0477,
      "recommended_side": "No Play",
      "recommended_edge": -0.0124,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 52.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19940.0,
      "lineup_expected_strikeouts": 4.92,
      "environment_summary": "neutral",
      "temperature_f": 63.3,
      "wind_speed_mph": 8.1,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Tanner Gordon",
      "pitcher_id": 685299,
      "team_abbr": "COL",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -113,
      "under_odds": -113,
      "expected_strikeouts": 3.66,
      "baseline_projected_strikeouts": 4.0,
      "adjusted_projected_strikeouts": 3.66,
      "skill_score": 3.9,
      "opportunity_score": 43.9,
      "opponent_weakness_score": 25.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 57.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.4833,
      "model_under_probability": 0.5167,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5305,
      "implied_under_probability_raw": 0.5305,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.0472,
      "edge_under": -0.0138,
      "recommended_side": "No Play",
      "recommended_edge": -0.0138,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.34,
      "adjustment_multiplier": 0.916,
      "aggregate_matchup_score": 22.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 8648.0,
      "lineup_expected_strikeouts": 3.28,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.2,
      "wind_speed_mph": 9.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Paul Skenes",
      "pitcher_id": 694973,
      "team_abbr": "PIT",
      "opponent_abbr": "STL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:39.483Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -150,
      "under_odds": 110,
      "expected_strikeouts": 6.11,
      "baseline_projected_strikeouts": 5.72,
      "adjusted_projected_strikeouts": 6.11,
      "skill_score": 28.7,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 54.3,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 49.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5443,
      "model_under_probability": 0.4557,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5575,
      "implied_under_probability_novig": 0.4425,
      "edge_over": -0.0557,
      "edge_under": -0.0205,
      "recommended_side": "No Play",
      "recommended_edge": -0.0205,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.39,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 80.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23485.0,
      "lineup_expected_strikeouts": 6.43,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 65.1,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Kumar Rocker",
      "pitcher_id": 677958,
      "team_abbr": "TEX",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:30.397Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 126,
      "under_odds": -162,
      "expected_strikeouts": 4.26,
      "baseline_projected_strikeouts": 4.23,
      "adjusted_projected_strikeouts": 4.26,
      "skill_score": 27.0,
      "opportunity_score": 27.2,
      "opponent_weakness_score": 32.4,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.3,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.4154,
      "model_under_probability": 0.5846,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4425,
      "implied_under_probability_raw": 0.6183,
      "implied_over_probability_novig": 0.4171,
      "implied_under_probability_novig": 0.5829,
      "edge_over": -0.0271,
      "edge_under": -0.0337,
      "recommended_side": "No Play",
      "recommended_edge": -0.0271,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.03,
      "adjustment_multiplier": 1.017,
      "aggregate_matchup_score": 30.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 6507.0,
      "lineup_expected_strikeouts": 4.63,
      "environment_summary": "neutral",
      "temperature_f": 93.2,
      "wind_speed_mph": 7.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Paul Skenes",
      "pitcher_id": 694973,
      "team_abbr": "PIT",
      "opponent_abbr": "STL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-09-24T11:54:27.719Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 129,
      "under_odds": -164,
      "expected_strikeouts": 6.11,
      "baseline_projected_strikeouts": 5.72,
      "adjusted_projected_strikeouts": 6.11,
      "skill_score": 28.7,
      "opportunity_score": 50.4,
      "opponent_weakness_score": 54.3,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 49.5,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4074,
      "model_under_probability": 0.5926,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4367,
      "implied_under_probability_raw": 0.6212,
      "implied_over_probability_novig": 0.4128,
      "implied_under_probability_novig": 0.5872,
      "edge_over": -0.0293,
      "edge_under": -0.0286,
      "recommended_side": "No Play",
      "recommended_edge": -0.0286,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.39,
      "adjustment_multiplier": 1.069,
      "aggregate_matchup_score": 80.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 23485.0,
      "lineup_expected_strikeouts": 6.43,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 65.1,
      "wind_speed_mph": 8.9,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": "PHI",
      "opponent_abbr": "MIL",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": "PHI",
      "opponent_abbr": "MIL",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Andrew Painter",
      "team_abbr": "PHI",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "David Sandlin",
      "team_abbr": "CWS",
      "opponent_abbr": "KC",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "David Sandlin",
      "team_abbr": "CWS",
      "opponent_abbr": "KC",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "David Sandlin",
      "team_abbr": "CWS",
      "opponent_abbr": "KC",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Grayson Rodriguez",
      "team_abbr": "LAA",
      "opponent_abbr": "SEA",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Grayson Rodriguez",
      "team_abbr": "LAA",
      "opponent_abbr": "SEA",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Grayson Rodriguez",
      "team_abbr": "LAA",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ian Seymour",
      "team_abbr": "TB",
      "opponent_abbr": "NYY",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ian Seymour",
      "team_abbr": "TB",
      "opponent_abbr": "NYY",
      "sportsbook": "DraftKings",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Ian Seymour",
      "team_abbr": "TB",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Kyle Leahy",
      "team_abbr": "STL",
      "opponent_abbr": "PIT",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Kyle Leahy",
      "team_abbr": "STL",
      "opponent_abbr": "PIT",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Kyle Leahy",
      "team_abbr": "STL",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Mason Barnett",
      "team_abbr": "OAK",
      "opponent_abbr": "HOU",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Mason Barnett",
      "team_abbr": "OAK",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Peter Lambert",
      "team_abbr": "HOU",
      "opponent_abbr": "OAK",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Peter Lambert",
      "team_abbr": "HOU",
      "opponent_abbr": "OAK",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Peter Lambert",
      "team_abbr": "HOU",
      "opponent_abbr": "OAK",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Randy Dobnak",
      "team_abbr": "KC",
      "opponent_abbr": "CWS",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Randy Dobnak",
      "team_abbr": "KC",
      "opponent_abbr": "CWS",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Randy Dobnak",
      "team_abbr": "KC",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tyler Phillips",
      "team_abbr": "MIA",
      "opponent_abbr": "CHC",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tyler Phillips",
      "team_abbr": "MIA",
      "opponent_abbr": "CHC",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Tyler Phillips",
      "team_abbr": "MIA",
      "opponent_abbr": "CHC",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Zac Thornton",
      "team_abbr": "NYM",
      "opponent_abbr": "TEX",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Zac Thornton",
      "team_abbr": "NYM",
      "opponent_abbr": "TEX",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Zac Thornton",
      "team_abbr": "NYM",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}