{
  "date": "2026-06-03",
  "generated_at": "2026-06-02T23:33:41.565027",
  "artifact_type": "strikeout_edges",
  "market_type": "pitcher_strikeouts",
  "model_version": "strikeout_edges_v1_overlay",
  "projection_model_version": "strikeout_props_v1_nb_overlay",
  "projection_date": "2026-06-03",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 59,
    "matched_count": 38,
    "unmatched_count": 21
  },
  "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": 38,
    "grouped_pitcher_count": 7,
    "sportsbook_count": 1
  },
  "edge_count": 38,
  "edges": [
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": -115,
      "under_odds": -105,
      "expected_strikeouts": 5.58,
      "baseline_projected_strikeouts": 5.52,
      "adjusted_projected_strikeouts": 5.58,
      "skill_score": 57.9,
      "opportunity_score": 80.5,
      "opponent_weakness_score": 34.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 10.3,
      "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.3345,
      "model_under_probability": 0.6655,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5349,
      "implied_under_probability_raw": 0.5122,
      "implied_over_probability_novig": 0.5108,
      "implied_under_probability_novig": 0.4892,
      "edge_over": -0.2004,
      "edge_under": 0.1533,
      "recommended_side": "Under",
      "recommended_edge": 0.1533,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 43.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.77,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.8,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Walker Buehler",
      "pitcher_id": 621111,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 134,
      "under_odds": -164,
      "expected_strikeouts": 3.41,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.41,
      "skill_score": 9.1,
      "opportunity_score": 33.5,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.8,
      "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.2671,
      "model_under_probability": 0.7329,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4274,
      "implied_under_probability_raw": 0.6212,
      "implied_over_probability_novig": 0.4076,
      "implied_under_probability_novig": 0.5924,
      "edge_over": -0.1603,
      "edge_under": 0.1117,
      "recommended_side": "Under",
      "recommended_edge": 0.1117,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.31,
      "adjustment_multiplier": 1.099,
      "aggregate_matchup_score": 27.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15814.0,
      "lineup_expected_strikeouts": 4.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 70.2,
      "wind_speed_mph": 3.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Bassitt",
      "pitcher_id": 605135,
      "team_abbr": "BAL",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 120,
      "under_odds": -148,
      "expected_strikeouts": 3.82,
      "baseline_projected_strikeouts": 3.41,
      "adjusted_projected_strikeouts": 3.82,
      "skill_score": 12.3,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 42.2,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 59.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.3388,
      "model_under_probability": 0.6612,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4545,
      "implied_under_probability_raw": 0.5968,
      "implied_over_probability_novig": 0.4323,
      "implied_under_probability_novig": 0.5677,
      "edge_over": -0.1157,
      "edge_under": 0.0644,
      "recommended_side": "Under",
      "recommended_edge": 0.0644,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.119,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35348.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Freddy Peralta",
      "pitcher_id": 642547,
      "team_abbr": "NYM",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 390,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 26.0,
      "opportunity_score": 67.3,
      "opponent_weakness_score": 47.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 27.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.2615,
      "model_under_probability": 0.7385,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2041,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0574,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0574,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 65.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 36211.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Freddy Peralta",
      "pitcher_id": 642547,
      "team_abbr": "NYM",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 194,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 26.0,
      "opportunity_score": 67.3,
      "opponent_weakness_score": 47.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 27.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.3773,
      "model_under_probability": 0.6227,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3401,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0372,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0372,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 65.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 36211.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 410,
      "under_odds": null,
      "expected_strikeouts": 5.61,
      "baseline_projected_strikeouts": 5.63,
      "adjusted_projected_strikeouts": 5.61,
      "skill_score": 21.3,
      "opportunity_score": 70.8,
      "opponent_weakness_score": 37.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 21.1,
      "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.228,
      "model_under_probability": 0.772,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1961,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0319,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.0319,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 56.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Patrick Corbin",
      "pitcher_id": 571578,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 360,
      "under_odds": null,
      "expected_strikeouts": 4.01,
      "baseline_projected_strikeouts": 3.73,
      "adjusted_projected_strikeouts": 4.01,
      "skill_score": 9.8,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 71.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.232,
      "model_under_probability": 0.768,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2174,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0146,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0146,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.074,
      "aggregate_matchup_score": 24.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33148.0,
      "lineup_expected_strikeouts": 4.76,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 205,
      "under_odds": null,
      "expected_strikeouts": 5.61,
      "baseline_projected_strikeouts": 5.63,
      "adjusted_projected_strikeouts": 5.61,
      "skill_score": 21.3,
      "opportunity_score": 70.8,
      "opponent_weakness_score": 37.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 21.1,
      "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.3386,
      "model_under_probability": 0.6614,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3279,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0107,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0107,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 56.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Grant Holmes",
      "pitcher_id": 656550,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 330,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 4.82,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 33.5,
      "opportunity_score": 47.0,
      "opponent_weakness_score": 35.7,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 55.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.2421,
      "model_under_probability": 0.7579,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2326,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0095,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0095,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 45.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11879.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Grant Holmes",
      "pitcher_id": 656550,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 610,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 4.82,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 33.5,
      "opportunity_score": 47.0,
      "opponent_weakness_score": 35.7,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 55.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.1496,
      "model_under_probability": 0.8504,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1408,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0088,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0088,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 45.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11879.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Grant Holmes",
      "pitcher_id": 656550,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 172,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 4.82,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 33.5,
      "opportunity_score": 47.0,
      "opponent_weakness_score": 35.7,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 55.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.3676,
      "model_under_probability": 0.6324,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3676,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 45.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11879.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Patrick Corbin",
      "pitcher_id": 571578,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -148,
      "under_odds": 120,
      "expected_strikeouts": 4.01,
      "baseline_projected_strikeouts": 3.73,
      "adjusted_projected_strikeouts": 4.01,
      "skill_score": 9.8,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 71.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.5468,
      "model_under_probability": 0.4532,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5968,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5677,
      "implied_under_probability_novig": 0.4323,
      "edge_over": -0.05,
      "edge_under": -0.0013,
      "recommended_side": "No Play",
      "recommended_edge": -0.0013,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.074,
      "aggregate_matchup_score": 24.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33148.0,
      "lineup_expected_strikeouts": 4.76,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Grant Holmes",
      "pitcher_id": 656550,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -112,
      "under_odds": -108,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 4.82,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 33.5,
      "opportunity_score": 47.0,
      "opponent_weakness_score": 35.7,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 55.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.5207,
      "model_under_probability": 0.4793,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5283,
      "implied_under_probability_raw": 0.5192,
      "implied_over_probability_novig": 0.5043,
      "implied_under_probability_novig": 0.4957,
      "edge_over": -0.0076,
      "edge_under": -0.0399,
      "recommended_side": "No Play",
      "recommended_edge": -0.0076,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 45.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11879.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Freddy Peralta",
      "pitcher_id": 642547,
      "team_abbr": "NYM",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -110,
      "under_odds": -110,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 26.0,
      "opportunity_score": 67.3,
      "opponent_weakness_score": 47.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 27.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.5141,
      "model_under_probability": 0.4859,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5238,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": -0.0097,
      "edge_under": -0.0379,
      "recommended_side": "No Play",
      "recommended_edge": -0.0097,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 65.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 36211.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Patrick Corbin",
      "pitcher_id": 571578,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 158,
      "under_odds": null,
      "expected_strikeouts": 4.01,
      "baseline_projected_strikeouts": 3.73,
      "adjusted_projected_strikeouts": 4.01,
      "skill_score": 9.8,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 71.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3721,
      "model_under_probability": 0.6279,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3876,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0155,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0155,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.074,
      "aggregate_matchup_score": 24.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33148.0,
      "lineup_expected_strikeouts": 4.76,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -122,
      "expected_strikeouts": 5.61,
      "baseline_projected_strikeouts": 5.63,
      "adjusted_projected_strikeouts": 5.61,
      "skill_score": 21.3,
      "opportunity_score": 70.8,
      "opponent_weakness_score": 37.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 21.1,
      "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.4743,
      "model_under_probability": 0.5257,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5,
      "implied_under_probability_raw": 0.5495,
      "implied_over_probability_novig": 0.4764,
      "implied_under_probability_novig": 0.5236,
      "edge_over": -0.0257,
      "edge_under": -0.0238,
      "recommended_side": "No Play",
      "recommended_edge": -0.0238,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 56.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Grant Holmes",
      "pitcher_id": 656550,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -265,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 4.82,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 33.5,
      "opportunity_score": 47.0,
      "opponent_weakness_score": 35.7,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 55.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.6838,
      "model_under_probability": 0.3162,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.726,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0422,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0422,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 45.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11879.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Bassitt",
      "pitcher_id": 605135,
      "team_abbr": "BAL",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 540,
      "under_odds": null,
      "expected_strikeouts": 3.82,
      "baseline_projected_strikeouts": 3.41,
      "adjusted_projected_strikeouts": 3.82,
      "skill_score": 12.3,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 42.2,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 59.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.114,
      "model_under_probability": 0.886,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1562,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0422,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0422,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.119,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35348.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Walker Buehler",
      "pitcher_id": 621111,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 680,
      "under_odds": null,
      "expected_strikeouts": 3.41,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.41,
      "skill_score": 9.1,
      "opportunity_score": 33.5,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.8,
      "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.0765,
      "model_under_probability": 0.9235,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1282,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0517,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0517,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.31,
      "adjustment_multiplier": 1.099,
      "aggregate_matchup_score": 27.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15814.0,
      "lineup_expected_strikeouts": 4.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 70.2,
      "wind_speed_mph": 3.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Freddy Peralta",
      "pitcher_id": 642547,
      "team_abbr": "NYM",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -250,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 26.0,
      "opportunity_score": 67.3,
      "opponent_weakness_score": 47.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 27.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.6594,
      "model_under_probability": 0.3406,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7143,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0549,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0549,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 65.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 36211.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Grant Holmes",
      "pitcher_id": 656550,
      "team_abbr": "ATL",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -800,
      "under_odds": null,
      "expected_strikeouts": 4.9,
      "baseline_projected_strikeouts": 4.82,
      "adjusted_projected_strikeouts": 4.9,
      "skill_score": 33.5,
      "opportunity_score": 47.0,
      "opponent_weakness_score": 35.7,
      "support_tier": "BALANCED_SUPPORT",
      "support_label": "Balanced Support",
      "support_note": "Support inputs are mixed but still healthy enough to trust contextually.",
      "suppression_score": 55.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.8302,
      "model_under_probability": 0.1698,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8889,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0587,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0587,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.08,
      "adjustment_multiplier": 1.016,
      "aggregate_matchup_score": 45.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 11879.0,
      "lineup_expected_strikeouts": 5.09,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -220,
      "under_odds": null,
      "expected_strikeouts": 5.61,
      "baseline_projected_strikeouts": 5.63,
      "adjusted_projected_strikeouts": 5.61,
      "skill_score": 21.3,
      "opportunity_score": 70.8,
      "opponent_weakness_score": 37.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 21.1,
      "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.6235,
      "model_under_probability": 0.3765,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6875,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.064,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.064,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 56.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Freddy Peralta",
      "pitcher_id": 642547,
      "team_abbr": "NYM",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -3000,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 26.0,
      "opportunity_score": 67.3,
      "opponent_weakness_score": 47.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 27.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.8997,
      "model_under_probability": 0.1003,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9677,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.068,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.068,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 65.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 36211.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Freddy Peralta",
      "pitcher_id": 642547,
      "team_abbr": "NYM",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -650,
      "under_odds": null,
      "expected_strikeouts": 5.89,
      "baseline_projected_strikeouts": 5.54,
      "adjusted_projected_strikeouts": 5.89,
      "skill_score": 26.0,
      "opportunity_score": 67.3,
      "opponent_weakness_score": 47.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 27.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.7943,
      "model_under_probability": 0.2057,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8667,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0724,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0724,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.35,
      "adjustment_multiplier": 1.063,
      "aggregate_matchup_score": 65.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 36211.0,
      "lineup_expected_strikeouts": 6.33,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -2200,
      "under_odds": null,
      "expected_strikeouts": 5.61,
      "baseline_projected_strikeouts": 5.63,
      "adjusted_projected_strikeouts": 5.61,
      "skill_score": 21.3,
      "opportunity_score": 70.8,
      "opponent_weakness_score": 37.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 21.1,
      "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.8835,
      "model_under_probability": 0.1165,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9565,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.073,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.073,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 56.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Bassitt",
      "pitcher_id": 605135,
      "team_abbr": "BAL",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 260,
      "under_odds": null,
      "expected_strikeouts": 3.82,
      "baseline_projected_strikeouts": 3.41,
      "adjusted_projected_strikeouts": 3.82,
      "skill_score": 12.3,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 42.2,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 59.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.2046,
      "model_under_probability": 0.7954,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2778,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0732,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0732,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.119,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35348.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Patrick Corbin",
      "pitcher_id": 571578,
      "team_abbr": "TOR",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -420,
      "under_odds": null,
      "expected_strikeouts": 4.01,
      "baseline_projected_strikeouts": 3.73,
      "adjusted_projected_strikeouts": 4.01,
      "skill_score": 9.8,
      "opportunity_score": 35.3,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 71.5,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.7303,
      "model_under_probability": 0.2697,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8077,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0774,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0774,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.28,
      "adjustment_multiplier": 1.074,
      "aggregate_matchup_score": 24.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33148.0,
      "lineup_expected_strikeouts": 4.76,
      "environment_summary": "neutral",
      "temperature_f": 64.4,
      "wind_speed_mph": 2.9,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "NYM",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -550,
      "under_odds": null,
      "expected_strikeouts": 5.61,
      "baseline_projected_strikeouts": 5.63,
      "adjusted_projected_strikeouts": 5.61,
      "skill_score": 21.3,
      "opportunity_score": 70.8,
      "opponent_weakness_score": 37.6,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 21.1,
      "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.7672,
      "model_under_probability": 0.2328,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8462,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.079,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.079,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.02,
      "adjustment_multiplier": 0.997,
      "aggregate_matchup_score": 56.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.49,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 9.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 320,
      "under_odds": null,
      "expected_strikeouts": 5.58,
      "baseline_projected_strikeouts": 5.52,
      "adjusted_projected_strikeouts": 5.58,
      "skill_score": 57.9,
      "opportunity_score": 80.5,
      "opponent_weakness_score": 34.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 10.3,
      "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.1427,
      "model_under_probability": 0.8573,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2381,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0954,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0954,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 43.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.77,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.8,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Walker Buehler",
      "pitcher_id": 621111,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 300,
      "under_odds": null,
      "expected_strikeouts": 3.41,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.41,
      "skill_score": 9.1,
      "opportunity_score": 33.5,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.8,
      "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.1491,
      "model_under_probability": 0.8509,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.25,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1009,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1009,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.31,
      "adjustment_multiplier": 1.099,
      "aggregate_matchup_score": 27.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15814.0,
      "lineup_expected_strikeouts": 4.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 70.2,
      "wind_speed_mph": 3.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 168,
      "under_odds": null,
      "expected_strikeouts": 5.58,
      "baseline_projected_strikeouts": 5.52,
      "adjusted_projected_strikeouts": 5.58,
      "skill_score": 57.9,
      "opportunity_score": 80.5,
      "opponent_weakness_score": 34.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 10.3,
      "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.2245,
      "model_under_probability": 0.7755,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3731,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1486,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1486,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 43.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.77,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.8,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Bassitt",
      "pitcher_id": 605135,
      "team_abbr": "BAL",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -590,
      "under_odds": null,
      "expected_strikeouts": 3.82,
      "baseline_projected_strikeouts": 3.41,
      "adjusted_projected_strikeouts": 3.82,
      "skill_score": 12.3,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 42.2,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 59.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.7031,
      "model_under_probability": 0.2969,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8551,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.152,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.152,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.119,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35348.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Bassitt",
      "pitcher_id": 605135,
      "team_abbr": "BAL",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -200,
      "under_odds": null,
      "expected_strikeouts": 3.82,
      "baseline_projected_strikeouts": 3.41,
      "adjusted_projected_strikeouts": 3.82,
      "skill_score": 12.3,
      "opportunity_score": 47.2,
      "opponent_weakness_score": 42.2,
      "support_tier": "STRONG_OPPONENT",
      "support_label": "Strong Opponent",
      "support_note": "Opponent strikeout pressure is the clearest support input.",
      "suppression_score": 59.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.513,
      "model_under_probability": 0.487,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6667,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1537,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1537,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.41,
      "adjustment_multiplier": 1.119,
      "aggregate_matchup_score": 49.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 35348.0,
      "lineup_expected_strikeouts": 5.66,
      "environment_summary": "hitter-friendly",
      "temperature_f": 65.3,
      "wind_speed_mph": 7.9,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -2200,
      "under_odds": null,
      "expected_strikeouts": 5.58,
      "baseline_projected_strikeouts": 5.52,
      "adjusted_projected_strikeouts": 5.58,
      "skill_score": 57.9,
      "opportunity_score": 80.5,
      "opponent_weakness_score": 34.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 10.3,
      "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.7641,
      "model_under_probability": 0.2359,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9565,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1924,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1924,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 43.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.77,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.8,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Walker Buehler",
      "pitcher_id": 621111,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -500,
      "under_odds": null,
      "expected_strikeouts": 3.41,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.41,
      "skill_score": 9.1,
      "opportunity_score": 33.5,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.8,
      "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.6363,
      "model_under_probability": 0.3637,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8333,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.197,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.197,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.31,
      "adjustment_multiplier": 1.099,
      "aggregate_matchup_score": 27.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15814.0,
      "lineup_expected_strikeouts": 4.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 70.2,
      "wind_speed_mph": 3.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Walker Buehler",
      "pitcher_id": 621111,
      "team_abbr": "SD",
      "opponent_abbr": "PHI",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -178,
      "under_odds": null,
      "expected_strikeouts": 3.41,
      "baseline_projected_strikeouts": 3.1,
      "adjusted_projected_strikeouts": 3.41,
      "skill_score": 9.1,
      "opportunity_score": 33.5,
      "opponent_weakness_score": 35.6,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 80.8,
      "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.435,
      "model_under_probability": 0.565,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6403,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2053,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2053,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.31,
      "adjustment_multiplier": 1.099,
      "aggregate_matchup_score": 27.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 15814.0,
      "lineup_expected_strikeouts": 4.25,
      "environment_summary": "hitter-friendly",
      "temperature_f": 70.2,
      "wind_speed_mph": 3.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -600,
      "under_odds": null,
      "expected_strikeouts": 5.58,
      "baseline_projected_strikeouts": 5.52,
      "adjusted_projected_strikeouts": 5.58,
      "skill_score": 57.9,
      "opportunity_score": 80.5,
      "opponent_weakness_score": 34.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 10.3,
      "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.6195,
      "model_under_probability": 0.3805,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8571,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2376,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2376,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 43.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.77,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.8,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -245,
      "under_odds": null,
      "expected_strikeouts": 5.58,
      "baseline_projected_strikeouts": 5.52,
      "adjusted_projected_strikeouts": 5.58,
      "skill_score": 57.9,
      "opportunity_score": 80.5,
      "opponent_weakness_score": 34.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 10.3,
      "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.4699,
      "model_under_probability": 0.5301,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7101,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2402,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2402,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.06,
      "adjustment_multiplier": 1.011,
      "aggregate_matchup_score": 43.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.77,
      "environment_summary": "hitter-friendly",
      "temperature_f": 64.8,
      "wind_speed_mph": 4.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Cristopher Sanchez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Cristopher Sanchez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Cristopher Sanchez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Cristopher Sanchez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Cristopher Sanchez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Cristopher Sanchez",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 8.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Cristopher Sanchez 10+ Strikeouts",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 9.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gavin Williams 10+ Strikeouts",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 9.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 2.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 8.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 7.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": null,
      "opponent_abbr": null,
      "sportsbook": "FanDuel",
      "line": 8.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}