{
  "date": "2026-08-27",
  "generated_at": "2026-08-27T23:44:41.241366",
  "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-08-27",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 33,
    "matched_count": 27,
    "unmatched_count": 6
  },
  "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": 27,
    "grouped_pitcher_count": 9,
    "sportsbook_count": 3
  },
  "edge_count": 27,
  "edges": [
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "NYM",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": -121,
      "under_odds": -106,
      "expected_strikeouts": 5.9,
      "baseline_projected_strikeouts": 6.06,
      "adjusted_projected_strikeouts": 5.9,
      "skill_score": 86.7,
      "opportunity_score": 53.5,
      "opponent_weakness_score": 39.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 41.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.173,
      "model_under_probability": 0.827,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5475,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5155,
      "implied_under_probability_novig": 0.4845,
      "edge_over": -0.3745,
      "edge_under": 0.3124,
      "recommended_side": "Under",
      "recommended_edge": 0.3124,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.974,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.41,
      "environment_summary": "neutral",
      "temperature_f": 71.2,
      "wind_speed_mph": 2.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -108,
      "expected_strikeouts": 5.9,
      "baseline_projected_strikeouts": 6.06,
      "adjusted_projected_strikeouts": 5.9,
      "skill_score": 86.7,
      "opportunity_score": 53.5,
      "opponent_weakness_score": 39.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 41.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.173,
      "model_under_probability": 0.827,
      "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.3683,
      "edge_under": 0.3078,
      "recommended_side": "Under",
      "recommended_edge": 0.3078,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.974,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.41,
      "environment_summary": "neutral",
      "temperature_f": 71.2,
      "wind_speed_mph": 2.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jacob Misiorowski",
      "pitcher_id": 694819,
      "team_abbr": "MIL",
      "opponent_abbr": "NYM",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:58:15.592Z",
      "line": 8.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -120,
      "expected_strikeouts": 5.9,
      "baseline_projected_strikeouts": 6.06,
      "adjusted_projected_strikeouts": 5.9,
      "skill_score": 86.7,
      "opportunity_score": 53.5,
      "opponent_weakness_score": 39.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 41.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.173,
      "model_under_probability": 0.827,
      "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.3508,
      "edge_under": 0.2815,
      "recommended_side": "Under",
      "recommended_edge": 0.2815,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.16,
      "adjustment_multiplier": 0.974,
      "aggregate_matchup_score": 64.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 5530.0,
      "lineup_expected_strikeouts": 5.41,
      "environment_summary": "neutral",
      "temperature_f": 71.2,
      "wind_speed_mph": 2.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Noah Cameron",
      "pitcher_id": 702070,
      "team_abbr": "KC",
      "opponent_abbr": "TOR",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -126,
      "under_odds": -102,
      "expected_strikeouts": 4.13,
      "baseline_projected_strikeouts": 4.02,
      "adjusted_projected_strikeouts": 4.13,
      "skill_score": 24.3,
      "opportunity_score": 75.7,
      "opponent_weakness_score": 33.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 25.3,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.393,
      "model_under_probability": 0.607,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5575,
      "implied_under_probability_raw": 0.505,
      "implied_over_probability_novig": 0.5247,
      "implied_under_probability_novig": 0.4753,
      "edge_over": -0.1645,
      "edge_under": 0.102,
      "recommended_side": "Under",
      "recommended_edge": 0.102,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.11,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 36.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10820.0,
      "lineup_expected_strikeouts": 4.45,
      "environment_summary": "neutral",
      "temperature_f": 65.8,
      "wind_speed_mph": 1.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Noah Cameron",
      "pitcher_id": 702070,
      "team_abbr": "KC",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -106,
      "expected_strikeouts": 4.13,
      "baseline_projected_strikeouts": 4.02,
      "adjusted_projected_strikeouts": 4.13,
      "skill_score": 24.3,
      "opportunity_score": 75.7,
      "opponent_weakness_score": 33.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 25.3,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.393,
      "model_under_probability": 0.607,
      "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.1525,
      "edge_under": 0.0924,
      "recommended_side": "Under",
      "recommended_edge": 0.0924,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.11,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 36.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10820.0,
      "lineup_expected_strikeouts": 4.45,
      "environment_summary": "neutral",
      "temperature_f": 65.8,
      "wind_speed_mph": 1.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Noah Cameron",
      "pitcher_id": 702070,
      "team_abbr": "KC",
      "opponent_abbr": "TOR",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:41.315Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -110,
      "expected_strikeouts": 4.13,
      "baseline_projected_strikeouts": 4.02,
      "adjusted_projected_strikeouts": 4.13,
      "skill_score": 24.3,
      "opportunity_score": 75.7,
      "opponent_weakness_score": 33.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 25.3,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.393,
      "model_under_probability": 0.607,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5082,
      "implied_under_probability_novig": 0.4918,
      "edge_over": -0.1483,
      "edge_under": 0.0832,
      "recommended_side": "Under",
      "recommended_edge": 0.0832,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.11,
      "adjustment_multiplier": 1.026,
      "aggregate_matchup_score": 36.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10820.0,
      "lineup_expected_strikeouts": 4.45,
      "environment_summary": "neutral",
      "temperature_f": 65.8,
      "wind_speed_mph": 1.6,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Trevor Rogers",
      "pitcher_id": 669432,
      "team_abbr": "BAL",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -154,
      "under_odds": 120,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 37.3,
      "opportunity_score": 57.5,
      "opponent_weakness_score": 42.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 41.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6063,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5715,
      "implied_under_probability_novig": 0.4285,
      "edge_over": -0.1288,
      "edge_under": 0.068,
      "recommended_side": "Under",
      "recommended_edge": 0.068,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.065,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18097.0,
      "lineup_expected_strikeouts": 5.17,
      "environment_summary": "neutral",
      "temperature_f": 84.6,
      "wind_speed_mph": 4.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Trevor Rogers",
      "pitcher_id": 669432,
      "team_abbr": "BAL",
      "opponent_abbr": "STL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -153,
      "under_odds": 119,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 37.3,
      "opportunity_score": 57.5,
      "opponent_weakness_score": 42.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 41.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6047,
      "implied_under_probability_raw": 0.4566,
      "implied_over_probability_novig": 0.5698,
      "implied_under_probability_novig": 0.4302,
      "edge_over": -0.1272,
      "edge_under": 0.0659,
      "recommended_side": "Under",
      "recommended_edge": 0.0659,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.065,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18097.0,
      "lineup_expected_strikeouts": 5.17,
      "environment_summary": "neutral",
      "temperature_f": 84.6,
      "wind_speed_mph": 4.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -145,
      "expected_strikeouts": 6.6,
      "baseline_projected_strikeouts": 6.54,
      "adjusted_projected_strikeouts": 6.6,
      "skill_score": 78.2,
      "opportunity_score": 63.4,
      "opponent_weakness_score": 43.7,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 28.8,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "PREMIUM_RUNWAY",
      "interaction_label": "Premium Runway",
      "interaction_note": "Support layers and runway all align into the cleanest strikeout pocket.",
      "trust_modifier": "PREMIUM_RUNWAY",
      "trust_label": "Premium Runway",
      "trust_note": "Support and leash context align strongly enough to mark the cleanest strikeout trust pocket.",
      "model_over_probability": 0.3497,
      "model_under_probability": 0.6503,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.5918,
      "implied_over_probability_novig": 0.4412,
      "implied_under_probability_novig": 0.5588,
      "edge_over": -0.1176,
      "edge_under": 0.0585,
      "recommended_side": "Under",
      "recommended_edge": 0.0585,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.01,
      "aggregate_matchup_score": 69.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.44,
      "environment_summary": "neutral",
      "temperature_f": 73.6,
      "wind_speed_mph": 2.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "ATL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 117,
      "under_odds": -150,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.51,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 35.8,
      "opportunity_score": 78.6,
      "opponent_weakness_score": 42.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 7.7,
      "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.3428,
      "model_under_probability": 0.6572,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4608,
      "implied_under_probability_raw": 0.6,
      "implied_over_probability_novig": 0.4344,
      "implied_under_probability_novig": 0.5656,
      "edge_over": -0.118,
      "edge_under": 0.0572,
      "recommended_side": "Under",
      "recommended_edge": 0.0572,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.023,
      "aggregate_matchup_score": 63.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 5.7,
      "environment_summary": "neutral",
      "temperature_f": 73.6,
      "wind_speed_mph": 2.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -150,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.51,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 35.8,
      "opportunity_score": 78.6,
      "opponent_weakness_score": 42.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 7.7,
      "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.3428,
      "model_under_probability": 0.6572,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": 0.6,
      "implied_over_probability_novig": 0.4333,
      "implied_under_probability_novig": 0.5667,
      "edge_over": -0.1159,
      "edge_under": 0.0572,
      "recommended_side": "Under",
      "recommended_edge": 0.0572,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.023,
      "aggregate_matchup_score": 63.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 5.7,
      "environment_summary": "neutral",
      "temperature_f": 73.6,
      "wind_speed_mph": 2.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Yoshinobu Yamamoto",
      "pitcher_id": 808967,
      "team_abbr": "LAD",
      "opponent_abbr": "ATL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:50.072Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": 115,
      "under_odds": -155,
      "expected_strikeouts": 5.64,
      "baseline_projected_strikeouts": 5.51,
      "adjusted_projected_strikeouts": 5.64,
      "skill_score": 35.8,
      "opportunity_score": 78.6,
      "opponent_weakness_score": 42.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 7.7,
      "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.3428,
      "model_under_probability": 0.6572,
      "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.1223,
      "edge_under": 0.0494,
      "recommended_side": "Under",
      "recommended_edge": 0.0494,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.13,
      "adjustment_multiplier": 1.023,
      "aggregate_matchup_score": 63.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19316.0,
      "lineup_expected_strikeouts": 5.7,
      "environment_summary": "neutral",
      "temperature_f": 73.6,
      "wind_speed_mph": 2.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jake Irvin",
      "pitcher_id": 663623,
      "team_abbr": "WSH",
      "opponent_abbr": "COL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:44.887Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -145,
      "under_odds": 105,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.3,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 15.2,
      "opportunity_score": 34.9,
      "opponent_weakness_score": 39.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.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.466,
      "model_under_probability": 0.534,
      "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.1258,
      "edge_under": 0.0462,
      "recommended_side": "Under",
      "recommended_edge": 0.0462,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.072,
      "aggregate_matchup_score": 44.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33345.0,
      "lineup_expected_strikeouts": 5.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 91.0,
      "wind_speed_mph": 8.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:50.072Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 115,
      "under_odds": -155,
      "expected_strikeouts": 6.6,
      "baseline_projected_strikeouts": 6.54,
      "adjusted_projected_strikeouts": 6.6,
      "skill_score": 78.2,
      "opportunity_score": 63.4,
      "opponent_weakness_score": 43.7,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 28.8,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "PREMIUM_RUNWAY",
      "interaction_label": "Premium Runway",
      "interaction_note": "Support layers and runway all align into the cleanest strikeout pocket.",
      "trust_modifier": "PREMIUM_RUNWAY",
      "trust_label": "Premium Runway",
      "trust_note": "Support and leash context align strongly enough to mark the cleanest strikeout trust pocket.",
      "model_over_probability": 0.3497,
      "model_under_probability": 0.6503,
      "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.1154,
      "edge_under": 0.0425,
      "recommended_side": "Under",
      "recommended_edge": 0.0425,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.01,
      "aggregate_matchup_score": 69.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.44,
      "environment_summary": "neutral",
      "temperature_f": 73.6,
      "wind_speed_mph": 2.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Trevor Rogers",
      "pitcher_id": 669432,
      "team_abbr": "BAL",
      "opponent_abbr": "STL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:13.430Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -145,
      "under_odds": 105,
      "expected_strikeouts": 4.63,
      "baseline_projected_strikeouts": 4.35,
      "adjusted_projected_strikeouts": 4.63,
      "skill_score": 37.3,
      "opportunity_score": 57.5,
      "opponent_weakness_score": 42.1,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 41.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4775,
      "model_under_probability": 0.5225,
      "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.1143,
      "edge_under": 0.0347,
      "recommended_side": "Under",
      "recommended_edge": 0.0347,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.065,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 18097.0,
      "lineup_expected_strikeouts": 5.17,
      "environment_summary": "neutral",
      "temperature_f": 84.6,
      "wind_speed_mph": 4.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jake Irvin",
      "pitcher_id": 663623,
      "team_abbr": "WSH",
      "opponent_abbr": "COL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -128,
      "under_odds": 100,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.3,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 15.2,
      "opportunity_score": 34.9,
      "opponent_weakness_score": 39.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.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.466,
      "model_under_probability": 0.534,
      "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.0954,
      "edge_under": 0.034,
      "recommended_side": "Under",
      "recommended_edge": 0.034,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.072,
      "aggregate_matchup_score": 44.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33345.0,
      "lineup_expected_strikeouts": 5.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 91.0,
      "wind_speed_mph": 8.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "LAD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 126,
      "under_odds": -162,
      "expected_strikeouts": 6.6,
      "baseline_projected_strikeouts": 6.54,
      "adjusted_projected_strikeouts": 6.6,
      "skill_score": 78.2,
      "opportunity_score": 63.4,
      "opponent_weakness_score": 43.7,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 28.8,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "PREMIUM_RUNWAY",
      "interaction_label": "Premium Runway",
      "interaction_note": "Support layers and runway all align into the cleanest strikeout pocket.",
      "trust_modifier": "PREMIUM_RUNWAY",
      "trust_label": "Premium Runway",
      "trust_note": "Support and leash context align strongly enough to mark the cleanest strikeout trust pocket.",
      "model_over_probability": 0.3497,
      "model_under_probability": 0.6503,
      "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.0928,
      "edge_under": 0.032,
      "recommended_side": "Under",
      "recommended_edge": 0.032,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.01,
      "aggregate_matchup_score": 69.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.44,
      "environment_summary": "neutral",
      "temperature_f": 73.6,
      "wind_speed_mph": 2.0,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Jake Irvin",
      "pitcher_id": 663623,
      "team_abbr": "WSH",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -108,
      "expected_strikeouts": 4.56,
      "baseline_projected_strikeouts": 4.3,
      "adjusted_projected_strikeouts": 4.56,
      "skill_score": 15.2,
      "opportunity_score": 34.9,
      "opponent_weakness_score": 39.8,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 61.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.466,
      "model_under_probability": 0.534,
      "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.0753,
      "edge_under": 0.0148,
      "recommended_side": "No Play",
      "recommended_edge": 0.0148,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.072,
      "aggregate_matchup_score": 44.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33345.0,
      "lineup_expected_strikeouts": 5.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 91.0,
      "wind_speed_mph": 8.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 106,
      "under_odds": -136,
      "expected_strikeouts": 4.29,
      "baseline_projected_strikeouts": 4.65,
      "adjusted_projected_strikeouts": 4.29,
      "skill_score": 11.8,
      "opportunity_score": 53.3,
      "opponent_weakness_score": 25.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 47.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4205,
      "model_under_probability": 0.5795,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4854,
      "implied_under_probability_raw": 0.5763,
      "implied_over_probability_novig": 0.4572,
      "implied_under_probability_novig": 0.5428,
      "edge_over": -0.0649,
      "edge_under": 0.0032,
      "recommended_side": "No Play",
      "recommended_edge": 0.0032,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.36,
      "adjustment_multiplier": 0.923,
      "aggregate_matchup_score": 27.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 3.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 62.6,
      "wind_speed_mph": 3.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Manaea",
      "pitcher_id": 640455,
      "team_abbr": "NYM",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -162,
      "under_odds": 126,
      "expected_strikeouts": 5.18,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 5.18,
      "skill_score": 39.0,
      "opportunity_score": 68.1,
      "opponent_weakness_score": 39.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 25.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5632,
      "model_under_probability": 0.4368,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6183,
      "implied_under_probability_raw": 0.4425,
      "implied_over_probability_novig": 0.5829,
      "implied_under_probability_novig": 0.4171,
      "edge_over": -0.0551,
      "edge_under": -0.0057,
      "recommended_side": "No Play",
      "recommended_edge": -0.0057,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.013,
      "aggregate_matchup_score": 56.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19201.0,
      "lineup_expected_strikeouts": 5.23,
      "environment_summary": "neutral",
      "temperature_f": 71.2,
      "wind_speed_mph": 2.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Manaea",
      "pitcher_id": 640455,
      "team_abbr": "NYM",
      "opponent_abbr": "MIL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -152,
      "under_odds": 122,
      "expected_strikeouts": 5.18,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 5.18,
      "skill_score": 39.0,
      "opportunity_score": 68.1,
      "opponent_weakness_score": 39.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 25.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5632,
      "model_under_probability": 0.4368,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6032,
      "implied_under_probability_raw": 0.4505,
      "implied_over_probability_novig": 0.5725,
      "implied_under_probability_novig": 0.4275,
      "edge_over": -0.04,
      "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.07,
      "adjustment_multiplier": 1.013,
      "aggregate_matchup_score": 56.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19201.0,
      "lineup_expected_strikeouts": 5.23,
      "environment_summary": "neutral",
      "temperature_f": 71.2,
      "wind_speed_mph": 2.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Hayden Wesneski",
      "pitcher_id": 669713,
      "team_abbr": "HOU",
      "opponent_abbr": "NYY",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 121,
      "under_odds": -155,
      "expected_strikeouts": 4.38,
      "baseline_projected_strikeouts": 4.14,
      "adjusted_projected_strikeouts": 4.38,
      "skill_score": 21.9,
      "opportunity_score": 44.6,
      "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": 51.0,
      "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.4358,
      "model_under_probability": 0.5642,
      "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.0167,
      "edge_under": -0.0436,
      "recommended_side": "No Play",
      "recommended_edge": -0.0167,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.057,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7274.0,
      "lineup_expected_strikeouts": 4.96,
      "environment_summary": "neutral",
      "temperature_f": 70.5,
      "wind_speed_mph": 3.7,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "AZ",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:30.912Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -149,
      "expected_strikeouts": 4.29,
      "baseline_projected_strikeouts": 4.65,
      "adjusted_projected_strikeouts": 4.29,
      "skill_score": 11.8,
      "opportunity_score": 53.3,
      "opponent_weakness_score": 25.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 47.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4205,
      "model_under_probability": 0.5795,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5984,
      "implied_over_probability_novig": 0.4362,
      "implied_under_probability_novig": 0.5638,
      "edge_over": -0.0425,
      "edge_under": -0.0189,
      "recommended_side": "No Play",
      "recommended_edge": -0.0189,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.36,
      "adjustment_multiplier": 0.923,
      "aggregate_matchup_score": 27.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 3.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 62.6,
      "wind_speed_mph": 3.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Hayden Wesneski",
      "pitcher_id": 669713,
      "team_abbr": "HOU",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:57:47.651Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 118,
      "under_odds": -150,
      "expected_strikeouts": 4.38,
      "baseline_projected_strikeouts": 4.14,
      "adjusted_projected_strikeouts": 4.38,
      "skill_score": 21.9,
      "opportunity_score": 44.6,
      "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": 51.0,
      "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.4358,
      "model_under_probability": 0.5642,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4587,
      "implied_under_probability_raw": 0.6,
      "implied_over_probability_novig": 0.4333,
      "implied_under_probability_novig": 0.5667,
      "edge_over": -0.0229,
      "edge_under": -0.0358,
      "recommended_side": "No Play",
      "recommended_edge": -0.0229,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.057,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7274.0,
      "lineup_expected_strikeouts": 4.96,
      "environment_summary": "neutral",
      "temperature_f": 70.5,
      "wind_speed_mph": 3.7,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sean Manaea",
      "pitcher_id": 640455,
      "team_abbr": "NYM",
      "opponent_abbr": "MIL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:58:15.592Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -160,
      "expected_strikeouts": 5.18,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 5.18,
      "skill_score": 39.0,
      "opportunity_score": 68.1,
      "opponent_weakness_score": 39.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 25.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4104,
      "model_under_probability": 0.5896,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4545,
      "implied_under_probability_raw": 0.6154,
      "implied_over_probability_novig": 0.4248,
      "implied_under_probability_novig": 0.5752,
      "edge_over": -0.0441,
      "edge_under": -0.0258,
      "recommended_side": "No Play",
      "recommended_edge": -0.0258,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.013,
      "aggregate_matchup_score": 56.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19201.0,
      "lineup_expected_strikeouts": 5.23,
      "environment_summary": "neutral",
      "temperature_f": 71.2,
      "wind_speed_mph": 2.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "AZ",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:58:16.961Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 115,
      "under_odds": -155,
      "expected_strikeouts": 4.29,
      "baseline_projected_strikeouts": 4.65,
      "adjusted_projected_strikeouts": 4.29,
      "skill_score": 11.8,
      "opportunity_score": 53.3,
      "opponent_weakness_score": 25.7,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 47.7,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4205,
      "model_under_probability": 0.5795,
      "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.0446,
      "edge_under": -0.0283,
      "recommended_side": "No Play",
      "recommended_edge": -0.0283,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.36,
      "adjustment_multiplier": 0.923,
      "aggregate_matchup_score": 27.8,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 3.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 62.6,
      "wind_speed_mph": 3.8,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Hayden Wesneski",
      "pitcher_id": 669713,
      "team_abbr": "HOU",
      "opponent_abbr": "NYY",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-08-27T11:58:13.592Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 115,
      "under_odds": -155,
      "expected_strikeouts": 4.38,
      "baseline_projected_strikeouts": 4.14,
      "adjusted_projected_strikeouts": 4.38,
      "skill_score": 21.9,
      "opportunity_score": 44.6,
      "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": 51.0,
      "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.4358,
      "model_under_probability": 0.5642,
      "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.0293,
      "edge_under": -0.0436,
      "recommended_side": "No Play",
      "recommended_edge": -0.0293,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.24,
      "adjustment_multiplier": 1.057,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7274.0,
      "lineup_expected_strikeouts": 4.96,
      "environment_summary": "neutral",
      "temperature_f": 70.5,
      "wind_speed_mph": 3.7,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Gabriel Hughes",
      "team_abbr": "COL",
      "opponent_abbr": "WSH",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gabriel Hughes",
      "team_abbr": "COL",
      "opponent_abbr": "WSH",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gabriel Hughes",
      "team_abbr": "COL",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": "NYY",
      "opponent_abbr": "HOU",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": "NYY",
      "opponent_abbr": "HOU",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": "NYY",
      "opponent_abbr": "HOU",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}