{
  "date": "2026-07-17",
  "generated_at": "2026-07-17T08:03:57.656270",
  "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-07-17",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 135,
    "matched_count": 52,
    "unmatched_count": 83
  },
  "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": 52,
    "grouped_pitcher_count": 12,
    "sportsbook_count": 3
  },
  "edge_count": 52,
  "edges": [
    {
      "pitcher_name": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "ATH",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 124,
      "expected_strikeouts": 3.38,
      "baseline_projected_strikeouts": 3.04,
      "adjusted_projected_strikeouts": 3.38,
      "skill_score": 45.3,
      "opportunity_score": 35.6,
      "opponent_weakness_score": 38.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 71.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.2619,
      "model_under_probability": 0.7381,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4464,
      "implied_over_probability_novig": 0.5784,
      "implied_under_probability_novig": 0.4216,
      "edge_over": -0.3505,
      "edge_under": 0.2917,
      "recommended_side": "Under",
      "recommended_edge": 0.2917,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.34,
      "adjustment_multiplier": 1.112,
      "aggregate_matchup_score": 41.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 5.12,
      "environment_summary": "neutral",
      "temperature_f": 66.9,
      "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": "Cade Cavalli",
      "pitcher_id": 676917,
      "team_abbr": "WSH",
      "opponent_abbr": "ATH",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:15.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 110,
      "expected_strikeouts": 3.38,
      "baseline_projected_strikeouts": 3.04,
      "adjusted_projected_strikeouts": 3.38,
      "skill_score": 45.3,
      "opportunity_score": 35.6,
      "opponent_weakness_score": 38.5,
      "support_tier": "STRONG_SKILL",
      "support_label": "Strong Skill",
      "support_note": "Underlying strikeout skill is the clearest support input.",
      "suppression_score": 71.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.2619,
      "model_under_probability": 0.7381,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5505,
      "implied_under_probability_novig": 0.4495,
      "edge_over": -0.3214,
      "edge_under": 0.2619,
      "recommended_side": "Under",
      "recommended_edge": 0.2619,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.34,
      "adjustment_multiplier": 1.112,
      "aggregate_matchup_score": 41.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 3940.0,
      "lineup_expected_strikeouts": 5.12,
      "environment_summary": "neutral",
      "temperature_f": 66.9,
      "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": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "SF",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -142,
      "under_odds": 112,
      "expected_strikeouts": 4.61,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.61,
      "skill_score": 52.6,
      "opportunity_score": 48.3,
      "opponent_weakness_score": 40.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3229,
      "model_under_probability": 0.6771,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5868,
      "implied_under_probability_raw": 0.4717,
      "implied_over_probability_novig": 0.5544,
      "implied_under_probability_novig": 0.4456,
      "edge_over": -0.2639,
      "edge_under": 0.2054,
      "recommended_side": "Under",
      "recommended_edge": 0.2054,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 52.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.91,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 60.6,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "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": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": -156,
      "under_odds": 122,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.3497,
      "model_under_probability": 0.6503,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6094,
      "implied_under_probability_raw": 0.4505,
      "implied_over_probability_novig": 0.575,
      "implied_under_probability_novig": 0.425,
      "edge_over": -0.2597,
      "edge_under": 0.1998,
      "recommended_side": "Under",
      "recommended_edge": 0.1998,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -156,
      "under_odds": 122,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.3497,
      "model_under_probability": 0.6503,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6094,
      "implied_under_probability_raw": 0.4505,
      "implied_over_probability_novig": 0.575,
      "implied_under_probability_novig": 0.425,
      "edge_over": -0.2597,
      "edge_under": 0.1998,
      "recommended_side": "Under",
      "recommended_edge": 0.1998,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "SF",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:30.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 109,
      "expected_strikeouts": 4.61,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.61,
      "skill_score": 52.6,
      "opportunity_score": 48.3,
      "opponent_weakness_score": 40.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3229,
      "model_under_probability": 0.6771,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4785,
      "implied_over_probability_novig": 0.5494,
      "implied_under_probability_novig": 0.4506,
      "edge_over": -0.2604,
      "edge_under": 0.1986,
      "recommended_side": "Under",
      "recommended_edge": 0.1986,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 52.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.91,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 60.6,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -104,
      "expected_strikeouts": 4.42,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.42,
      "skill_score": 23.7,
      "opportunity_score": 61.7,
      "opponent_weakness_score": 34.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 34.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.2937,
      "model_under_probability": 0.7063,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5495,
      "implied_under_probability_raw": 0.5098,
      "implied_over_probability_novig": 0.5187,
      "implied_under_probability_novig": 0.4813,
      "edge_over": -0.2558,
      "edge_under": 0.1965,
      "recommended_side": "Under",
      "recommended_edge": 0.1965,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 60.6,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "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": "PIT",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:37.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -151,
      "under_odds": 118,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.3497,
      "model_under_probability": 0.6503,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6016,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5674,
      "implied_under_probability_novig": 0.4326,
      "edge_over": -0.2519,
      "edge_under": 0.1916,
      "recommended_side": "Under",
      "recommended_edge": 0.1916,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "SEA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:30.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -118,
      "under_odds": -108,
      "expected_strikeouts": 4.42,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.42,
      "skill_score": 23.7,
      "opportunity_score": 61.7,
      "opponent_weakness_score": 34.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 34.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.2937,
      "model_under_probability": 0.7063,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5413,
      "implied_under_probability_raw": 0.5192,
      "implied_over_probability_novig": 0.5104,
      "implied_under_probability_novig": 0.4896,
      "edge_over": -0.2476,
      "edge_under": 0.1871,
      "recommended_side": "Under",
      "recommended_edge": 0.1871,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 60.6,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "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": "PIT",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:56:34.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.3497,
      "model_under_probability": 0.6503,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6078,
      "implied_under_probability_raw": 0.4651,
      "implied_over_probability_novig": 0.5665,
      "implied_under_probability_novig": 0.4335,
      "edge_over": -0.2581,
      "edge_under": 0.1852,
      "recommended_side": "Under",
      "recommended_edge": 0.1852,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Landen Roupp",
      "pitcher_id": 694738,
      "team_abbr": "SF",
      "opponent_abbr": "SEA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:58.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -120,
      "under_odds": -110,
      "expected_strikeouts": 4.42,
      "baseline_projected_strikeouts": 4.26,
      "adjusted_projected_strikeouts": 4.42,
      "skill_score": 23.7,
      "opportunity_score": 61.7,
      "opponent_weakness_score": 34.5,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 34.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.2937,
      "model_under_probability": 0.7063,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5455,
      "implied_under_probability_raw": 0.5238,
      "implied_over_probability_novig": 0.5101,
      "implied_under_probability_novig": 0.4899,
      "edge_over": -0.2518,
      "edge_under": 0.1825,
      "recommended_side": "Under",
      "recommended_edge": 0.1825,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.16,
      "adjustment_multiplier": 1.037,
      "aggregate_matchup_score": 36.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 10559.0,
      "lineup_expected_strikeouts": 4.85,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 60.6,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Bryce Miller",
      "pitcher_id": 682243,
      "team_abbr": "SEA",
      "opponent_abbr": "SF",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:58.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -135,
      "under_odds": 100,
      "expected_strikeouts": 4.61,
      "baseline_projected_strikeouts": 4.43,
      "adjusted_projected_strikeouts": 4.61,
      "skill_score": 52.6,
      "opportunity_score": 48.3,
      "opponent_weakness_score": 40.9,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 53.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3229,
      "model_under_probability": 0.6771,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5745,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5347,
      "implied_under_probability_novig": 0.4653,
      "edge_over": -0.2516,
      "edge_under": 0.1771,
      "recommended_side": "Under",
      "recommended_edge": 0.1771,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.18,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 52.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24988.0,
      "lineup_expected_strikeouts": 4.91,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 60.6,
      "wind_speed_mph": 3.5,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "STL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -113,
      "under_odds": -113,
      "expected_strikeouts": 4.74,
      "baseline_projected_strikeouts": 4.36,
      "adjusted_projected_strikeouts": 4.74,
      "skill_score": 8.8,
      "opportunity_score": 72.4,
      "opponent_weakness_score": 44.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 20.0,
      "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.6619,
      "model_under_probability": 0.3381,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5305,
      "implied_under_probability_raw": 0.5305,
      "implied_over_probability_novig": 0.5,
      "implied_under_probability_novig": 0.5,
      "edge_over": 0.1314,
      "edge_under": -0.1924,
      "recommended_side": "Over",
      "recommended_edge": 0.1314,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.38,
      "adjustment_multiplier": 1.088,
      "aggregate_matchup_score": 54.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.41,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Seth Lugo",
      "pitcher_id": 607625,
      "team_abbr": "KC",
      "opponent_abbr": "SD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:20.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 132,
      "under_odds": -170,
      "expected_strikeouts": 4.99,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 4.99,
      "skill_score": 17.8,
      "opportunity_score": 48.7,
      "opponent_weakness_score": 29.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5346,
      "model_under_probability": 0.4654,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.431,
      "implied_under_probability_raw": 0.6296,
      "implied_over_probability_novig": 0.4064,
      "implied_under_probability_novig": 0.5936,
      "edge_over": 0.1036,
      "edge_under": -0.1642,
      "recommended_side": "Over",
      "recommended_edge": 0.1036,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.12,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 40.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31476.0,
      "lineup_expected_strikeouts": 4.88,
      "environment_summary": "neutral",
      "temperature_f": 80.6,
      "wind_speed_mph": 8.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Seth Lugo",
      "pitcher_id": 607625,
      "team_abbr": "KC",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 130,
      "under_odds": -166,
      "expected_strikeouts": 4.99,
      "baseline_projected_strikeouts": 5.11,
      "adjusted_projected_strikeouts": 4.99,
      "skill_score": 17.8,
      "opportunity_score": 48.7,
      "opponent_weakness_score": 29.7,
      "support_tier": "WEAK_SUPPORT",
      "support_label": "Weak Support",
      "support_note": "The strikeout support stack is lighter across skill, workload, and opponent context.",
      "suppression_score": 42.8,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5346,
      "model_under_probability": 0.4654,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4348,
      "implied_under_probability_raw": 0.6241,
      "implied_over_probability_novig": 0.4106,
      "implied_under_probability_novig": 0.5894,
      "edge_over": 0.0998,
      "edge_under": -0.1587,
      "recommended_side": "Over",
      "recommended_edge": 0.0998,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": -0.12,
      "adjustment_multiplier": 0.977,
      "aggregate_matchup_score": 40.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 31476.0,
      "lineup_expected_strikeouts": 4.88,
      "environment_summary": "neutral",
      "temperature_f": 80.6,
      "wind_speed_mph": 8.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Merrill Kelly",
      "pitcher_id": 518876,
      "team_abbr": "AZ",
      "opponent_abbr": "STL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:21.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -129,
      "under_odds": 101,
      "expected_strikeouts": 4.74,
      "baseline_projected_strikeouts": 4.36,
      "adjusted_projected_strikeouts": 4.74,
      "skill_score": 8.8,
      "opportunity_score": 72.4,
      "opponent_weakness_score": 44.5,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 20.0,
      "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.6619,
      "model_under_probability": 0.3381,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5633,
      "implied_under_probability_raw": 0.4975,
      "implied_over_probability_novig": 0.531,
      "implied_under_probability_novig": 0.469,
      "edge_over": 0.0986,
      "edge_under": -0.1594,
      "recommended_side": "Over",
      "recommended_edge": 0.0986,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.38,
      "adjustment_multiplier": 1.088,
      "aggregate_matchup_score": 54.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 27142.0,
      "lineup_expected_strikeouts": 5.41,
      "environment_summary": "neutral",
      "temperature_f": null,
      "wind_speed_mph": null,
      "wind_direction": "unknown",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Colin Rea",
      "pitcher_id": 607067,
      "team_abbr": "CHC",
      "opponent_abbr": "MIN",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -104,
      "expected_strikeouts": 4.45,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.45,
      "skill_score": 9.6,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 37.0,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 45.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6192,
      "model_under_probability": 0.3808,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5495,
      "implied_under_probability_raw": 0.5098,
      "implied_over_probability_novig": 0.5187,
      "implied_under_probability_novig": 0.4813,
      "edge_over": 0.0697,
      "edge_under": -0.129,
      "recommended_side": "Over",
      "recommended_edge": 0.0697,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 41.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26562.0,
      "lineup_expected_strikeouts": 4.86,
      "environment_summary": "neutral",
      "temperature_f": 83.8,
      "wind_speed_mph": 6.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael King",
      "pitcher_id": 650633,
      "team_abbr": "SD",
      "opponent_abbr": "KC",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:20.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 114,
      "under_odds": -146,
      "expected_strikeouts": 4.96,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.96,
      "skill_score": 31.7,
      "opportunity_score": 52.5,
      "opponent_weakness_score": 45.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 46.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.53,
      "model_under_probability": 0.47,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4673,
      "implied_under_probability_raw": 0.5935,
      "implied_over_probability_novig": 0.4405,
      "implied_under_probability_novig": 0.5595,
      "edge_over": 0.0627,
      "edge_under": -0.1235,
      "recommended_side": "Over",
      "recommended_edge": 0.0627,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.055,
      "aggregate_matchup_score": 59.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19346.0,
      "lineup_expected_strikeouts": 5.34,
      "environment_summary": "neutral",
      "temperature_f": 80.6,
      "wind_speed_mph": 8.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -138,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.371,
      "model_under_probability": 0.629,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4808,
      "implied_under_probability_raw": 0.5798,
      "implied_over_probability_novig": 0.4533,
      "implied_under_probability_novig": 0.5467,
      "edge_over": -0.1098,
      "edge_under": 0.0492,
      "recommended_side": "Under",
      "recommended_edge": 0.0492,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 108,
      "under_odds": -138,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.371,
      "model_under_probability": 0.629,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4808,
      "implied_under_probability_raw": 0.5798,
      "implied_over_probability_novig": 0.4533,
      "implied_under_probability_novig": 0.5467,
      "edge_over": -0.1098,
      "edge_under": 0.0492,
      "recommended_side": "Under",
      "recommended_edge": 0.0492,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Colin Rea",
      "pitcher_id": 607067,
      "team_abbr": "CHC",
      "opponent_abbr": "MIN",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:48.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -133,
      "under_odds": 105,
      "expected_strikeouts": 4.45,
      "baseline_projected_strikeouts": 4.28,
      "adjusted_projected_strikeouts": 4.45,
      "skill_score": 9.6,
      "opportunity_score": 53.7,
      "opponent_weakness_score": 37.0,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 45.1,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6192,
      "model_under_probability": 0.3808,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5708,
      "implied_under_probability_raw": 0.4878,
      "implied_over_probability_novig": 0.5392,
      "implied_under_probability_novig": 0.4608,
      "edge_over": 0.0484,
      "edge_under": -0.107,
      "recommended_side": "Over",
      "recommended_edge": 0.0484,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.17,
      "adjustment_multiplier": 1.04,
      "aggregate_matchup_score": 41.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 26562.0,
      "lineup_expected_strikeouts": 4.86,
      "environment_summary": "neutral",
      "temperature_f": 83.8,
      "wind_speed_mph": 6.2,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael King",
      "pitcher_id": 650633,
      "team_abbr": "SD",
      "opponent_abbr": "KC",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:42.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 4.96,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.96,
      "skill_score": 31.7,
      "opportunity_score": 52.5,
      "opponent_weakness_score": 45.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 46.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.53,
      "model_under_probability": 0.47,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": 0.0422,
      "edge_under": -0.1133,
      "recommended_side": "Over",
      "recommended_edge": 0.0422,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.055,
      "aggregate_matchup_score": 59.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19346.0,
      "lineup_expected_strikeouts": 5.34,
      "environment_summary": "neutral",
      "temperature_f": 80.6,
      "wind_speed_mph": 8.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:54.000Z",
      "line": 6.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 115,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4949,
      "model_under_probability": 0.5051,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6078,
      "implied_under_probability_raw": 0.4651,
      "implied_over_probability_novig": 0.5665,
      "implied_under_probability_novig": 0.4335,
      "edge_over": -0.1129,
      "edge_under": 0.04,
      "recommended_side": "Under",
      "recommended_edge": 0.04,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:23.000Z",
      "line": 7.5,
      "line_type": "half",
      "over_odds": 116,
      "under_odds": -148,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.371,
      "model_under_probability": 0.629,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.463,
      "implied_under_probability_raw": 0.5968,
      "implied_over_probability_novig": 0.4369,
      "implied_under_probability_novig": 0.5631,
      "edge_over": -0.092,
      "edge_under": 0.0322,
      "recommended_side": "Under",
      "recommended_edge": 0.0322,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael King",
      "pitcher_id": 650633,
      "team_abbr": "SD",
      "opponent_abbr": "KC",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -128,
      "expected_strikeouts": 4.96,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.96,
      "skill_score": 31.7,
      "opportunity_score": 52.5,
      "opponent_weakness_score": 45.0,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 46.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.53,
      "model_under_probability": 0.47,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5,
      "implied_under_probability_raw": 0.5614,
      "implied_over_probability_novig": 0.4711,
      "implied_under_probability_novig": 0.5289,
      "edge_over": 0.03,
      "edge_under": -0.0914,
      "recommended_side": "Over",
      "recommended_edge": 0.03,
      "play_tier": "Play",
      "no_play_reason": null,
      "adjustment_delta": 0.26,
      "adjustment_multiplier": 1.055,
      "aggregate_matchup_score": 59.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19346.0,
      "lineup_expected_strikeouts": 5.34,
      "environment_summary": "neutral",
      "temperature_f": 80.6,
      "wind_speed_mph": 8.8,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 110,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5001,
      "model_under_probability": 0.4999,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5505,
      "implied_under_probability_novig": 0.4495,
      "edge_over": -0.0832,
      "edge_under": 0.0237,
      "recommended_side": "Under",
      "recommended_edge": 0.0237,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -140,
      "under_odds": 110,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5001,
      "model_under_probability": 0.4999,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5833,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5505,
      "implied_under_probability_novig": 0.4495,
      "edge_over": -0.0832,
      "edge_under": 0.0237,
      "recommended_side": "Under",
      "recommended_edge": 0.0237,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:43.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -137,
      "under_odds": 108,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.5001,
      "model_under_probability": 0.4999,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5781,
      "implied_under_probability_raw": 0.4808,
      "implied_over_probability_novig": 0.5459,
      "implied_under_probability_novig": 0.4541,
      "edge_over": -0.078,
      "edge_under": 0.0191,
      "recommended_side": "Under",
      "recommended_edge": 0.0191,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 750,
      "under_odds": null,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.1366,
      "model_under_probability": 0.8634,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.1176,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.019,
      "edge_under": null,
      "recommended_side": "Over",
      "recommended_edge": 0.019,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:15.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 130,
      "under_odds": -175,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3476,
      "model_under_probability": 0.6524,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4348,
      "implied_under_probability_raw": 0.6364,
      "implied_over_probability_novig": 0.4059,
      "implied_under_probability_novig": 0.5941,
      "edge_over": -0.0872,
      "edge_under": 0.016,
      "recommended_side": "Under",
      "recommended_edge": 0.016,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cal Quantrill",
      "pitcher_id": 615698,
      "team_abbr": "TEX",
      "opponent_abbr": "ATL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:23.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 128,
      "under_odds": -163,
      "expected_strikeouts": 3.09,
      "baseline_projected_strikeouts": 2.84,
      "adjusted_projected_strikeouts": 3.09,
      "skill_score": 8.4,
      "opportunity_score": 15.0,
      "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": 97.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3707,
      "model_under_probability": 0.6293,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4386,
      "implied_under_probability_raw": 0.6198,
      "implied_over_probability_novig": 0.4144,
      "implied_under_probability_novig": 0.5856,
      "edge_over": -0.0679,
      "edge_under": 0.0095,
      "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.25,
      "adjustment_multiplier": 1.089,
      "aggregate_matchup_score": 15.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25722.0,
      "lineup_expected_strikeouts": 3.98,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": 350,
      "under_odds": null,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.225,
      "model_under_probability": 0.775,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2222,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": 0.0028,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": 0.0028,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cal Quantrill",
      "pitcher_id": 615698,
      "team_abbr": "TEX",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": 134,
      "under_odds": -172,
      "expected_strikeouts": 3.09,
      "baseline_projected_strikeouts": 2.84,
      "adjusted_projected_strikeouts": 3.09,
      "skill_score": 8.4,
      "opportunity_score": 15.0,
      "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": 97.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3707,
      "model_under_probability": 0.6293,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4274,
      "implied_under_probability_raw": 0.6324,
      "implied_over_probability_novig": 0.4033,
      "implied_under_probability_novig": 0.5967,
      "edge_over": -0.0567,
      "edge_under": -0.0031,
      "recommended_side": "No Play",
      "recommended_edge": -0.0031,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.089,
      "aggregate_matchup_score": 15.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25722.0,
      "lineup_expected_strikeouts": 3.98,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cal Quantrill",
      "pitcher_id": 615698,
      "team_abbr": "TEX",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": 134,
      "under_odds": -172,
      "expected_strikeouts": 3.09,
      "baseline_projected_strikeouts": 2.84,
      "adjusted_projected_strikeouts": 3.09,
      "skill_score": 8.4,
      "opportunity_score": 15.0,
      "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": 97.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.3707,
      "model_under_probability": 0.6293,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4274,
      "implied_under_probability_raw": 0.6324,
      "implied_over_probability_novig": 0.4033,
      "implied_under_probability_novig": 0.5967,
      "edge_over": -0.0567,
      "edge_under": -0.0031,
      "recommended_side": "No Play",
      "recommended_edge": -0.0031,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.089,
      "aggregate_matchup_score": 15.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25722.0,
      "lineup_expected_strikeouts": 3.98,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cal Quantrill",
      "pitcher_id": 615698,
      "team_abbr": "TEX",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": 340,
      "under_odds": null,
      "expected_strikeouts": 3.09,
      "baseline_projected_strikeouts": 2.84,
      "adjusted_projected_strikeouts": 3.09,
      "skill_score": 8.4,
      "opportunity_score": 15.0,
      "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": 97.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.2128,
      "model_under_probability": 0.7872,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2273,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0145,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0145,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.089,
      "aggregate_matchup_score": 15.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25722.0,
      "lineup_expected_strikeouts": 3.98,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cal Quantrill",
      "pitcher_id": 615698,
      "team_abbr": "TEX",
      "opponent_abbr": "ATL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:54.000Z",
      "line": 2.5,
      "line_type": "half",
      "over_odds": -165,
      "under_odds": 125,
      "expected_strikeouts": 3.09,
      "baseline_projected_strikeouts": 2.84,
      "adjusted_projected_strikeouts": 3.09,
      "skill_score": 8.4,
      "opportunity_score": 15.0,
      "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": 97.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.576,
      "model_under_probability": 0.424,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6226,
      "implied_under_probability_raw": 0.4444,
      "implied_over_probability_novig": 0.5835,
      "implied_under_probability_novig": 0.4165,
      "edge_over": -0.0466,
      "edge_under": -0.0204,
      "recommended_side": "No Play",
      "recommended_edge": -0.0204,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.089,
      "aggregate_matchup_score": 15.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25722.0,
      "lineup_expected_strikeouts": 3.98,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brady Singer",
      "pitcher_id": 663903,
      "team_abbr": "CIN",
      "opponent_abbr": "COL",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:16.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 105,
      "under_odds": -140,
      "expected_strikeouts": 4.4,
      "baseline_projected_strikeouts": 3.9,
      "adjusted_projected_strikeouts": 4.4,
      "skill_score": 41.1,
      "opportunity_score": 55.4,
      "opponent_weakness_score": 46.8,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 50.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4392,
      "model_under_probability": 0.5608,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4878,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4554,
      "implied_under_probability_novig": 0.5446,
      "edge_over": -0.0486,
      "edge_under": -0.0225,
      "recommended_side": "No Play",
      "recommended_edge": -0.0225,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.5,
      "adjustment_multiplier": 1.129,
      "aggregate_matchup_score": 59.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33950.0,
      "lineup_expected_strikeouts": 5.97,
      "environment_summary": "hitter-friendly",
      "temperature_f": 79.3,
      "wind_speed_mph": 8.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brady Singer",
      "pitcher_id": 663903,
      "team_abbr": "CIN",
      "opponent_abbr": "COL",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:58:08.592Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 110,
      "under_odds": -140,
      "expected_strikeouts": 4.4,
      "baseline_projected_strikeouts": 3.9,
      "adjusted_projected_strikeouts": 4.4,
      "skill_score": 41.1,
      "opportunity_score": 55.4,
      "opponent_weakness_score": 46.8,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 50.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4392,
      "model_under_probability": 0.5608,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4762,
      "implied_under_probability_raw": 0.5833,
      "implied_over_probability_novig": 0.4495,
      "implied_under_probability_novig": 0.5505,
      "edge_over": -0.037,
      "edge_under": -0.0225,
      "recommended_side": "No Play",
      "recommended_edge": -0.0225,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.5,
      "adjustment_multiplier": 1.129,
      "aggregate_matchup_score": 59.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33950.0,
      "lineup_expected_strikeouts": 5.97,
      "environment_summary": "hitter-friendly",
      "temperature_f": 79.3,
      "wind_speed_mph": 8.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Brady Singer",
      "pitcher_id": 663903,
      "team_abbr": "CIN",
      "opponent_abbr": "COL",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-07-17T11:57:26.000Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": 113,
      "under_odds": -146,
      "expected_strikeouts": 4.4,
      "baseline_projected_strikeouts": 3.9,
      "adjusted_projected_strikeouts": 4.4,
      "skill_score": 41.1,
      "opportunity_score": 55.4,
      "opponent_weakness_score": 46.8,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 50.2,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.4392,
      "model_under_probability": 0.5608,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4695,
      "implied_under_probability_raw": 0.5935,
      "implied_over_probability_novig": 0.4417,
      "implied_under_probability_novig": 0.5583,
      "edge_over": -0.0303,
      "edge_under": -0.0327,
      "recommended_side": "No Play",
      "recommended_edge": -0.0303,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.5,
      "adjustment_multiplier": 1.129,
      "aggregate_matchup_score": 59.5,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33950.0,
      "lineup_expected_strikeouts": 5.97,
      "environment_summary": "hitter-friendly",
      "temperature_f": 79.3,
      "wind_speed_mph": 8.0,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": 162,
      "under_odds": null,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.3476,
      "model_under_probability": 0.6524,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3817,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0341,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0341,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 215,
      "under_odds": null,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.265,
      "model_under_probability": 0.735,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.3175,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0525,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0525,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Cal Quantrill",
      "pitcher_id": 615698,
      "team_abbr": "TEX",
      "opponent_abbr": "ATL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -205,
      "under_odds": null,
      "expected_strikeouts": 3.09,
      "baseline_projected_strikeouts": 2.84,
      "adjusted_projected_strikeouts": 3.09,
      "skill_score": 8.4,
      "opportunity_score": 15.0,
      "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": 97.0,
      "suppression_tier": "HEAVY_SUPPRESSION",
      "suppression_label": "Heavy Suppression",
      "suppression_note": "Leash or workload context materially weakens the strikeout conversion path.",
      "interaction_tier": "SUPPRESSED_ALIGNMENT",
      "interaction_label": "Suppressed Alignment",
      "interaction_note": "Runway drag or weak alignment materially softens the strikeout path.",
      "trust_modifier": "SUPPRESSED",
      "trust_label": "Suppressed",
      "trust_note": "Leash or alignment drag is materially weakening the strikeout trust case.",
      "model_over_probability": 0.576,
      "model_under_probability": 0.424,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6721,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0961,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0961,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.089,
      "aggregate_matchup_score": 15.7,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25722.0,
      "lineup_expected_strikeouts": 3.98,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 2.5,
      "line_type": "half",
      "over_odds": -1100,
      "under_odds": null,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.8181,
      "model_under_probability": 0.1819,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9167,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.0986,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.0986,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Sandy Alcantara",
      "pitcher_id": 645261,
      "team_abbr": "MIA",
      "opponent_abbr": "MIL",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -360,
      "under_odds": null,
      "expected_strikeouts": 4.77,
      "baseline_projected_strikeouts": 4.7,
      "adjusted_projected_strikeouts": 4.77,
      "skill_score": 12.2,
      "opportunity_score": 90.0,
      "opponent_weakness_score": 33.3,
      "support_tier": "STRONG_OPPORTUNITY",
      "support_label": "Strong Opportunity",
      "support_note": "Workload and batters-faced path are doing most of the support work.",
      "suppression_score": 5.5,
      "suppression_tier": "CLEAR_RUNWAY",
      "suppression_label": "Clear Runway",
      "suppression_note": "Workload and leash context support the strikeout projection cleanly.",
      "interaction_tier": "NEUTRAL_ALIGNMENT",
      "interaction_label": "Neutral Alignment",
      "interaction_note": "The signal stack is mixed and better used as context than conviction.",
      "trust_modifier": "NEUTRAL",
      "trust_label": "Neutral",
      "trust_note": "The strikeout trust picture is mixed and better used as context than conviction.",
      "model_over_probability": 0.6661,
      "model_under_probability": 0.3339,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7826,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1165,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1165,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.07,
      "adjustment_multiplier": 1.015,
      "aggregate_matchup_score": 39.3,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 22618.0,
      "lineup_expected_strikeouts": 5.02,
      "environment_summary": "hitter-friendly",
      "temperature_f": 85.6,
      "wind_speed_mph": 8.5,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 8.5,
      "line_type": "half",
      "over_odds": 255,
      "under_odds": null,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.1528,
      "model_under_probability": 0.8472,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.2817,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1289,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1289,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 6.5,
      "line_type": "half",
      "over_odds": -188,
      "under_odds": null,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.4949,
      "model_under_probability": 0.5051,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6528,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1579,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1579,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -1200,
      "under_odds": null,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.7548,
      "model_under_probability": 0.2452,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9231,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1683,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1683,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Chris Sale",
      "pitcher_id": 519242,
      "team_abbr": "ATL",
      "opponent_abbr": "TEX",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -430,
      "under_odds": null,
      "expected_strikeouts": 6.77,
      "baseline_projected_strikeouts": 6.52,
      "adjusted_projected_strikeouts": 6.77,
      "skill_score": 66.6,
      "opportunity_score": 55.2,
      "opponent_weakness_score": 50.4,
      "support_tier": "TRIPLE_SUPPORT",
      "support_label": "Triple Support",
      "support_note": "Skill, workload, and opponent pressure all support a stronger strikeout environment.",
      "suppression_score": 43.9,
      "suppression_tier": "MILD_SUPPRESSION",
      "suppression_label": "Mild Suppression",
      "suppression_note": "Some workload drag is present, but the strikeout path remains mostly intact.",
      "interaction_tier": "STRONG_ALIGNMENT",
      "interaction_label": "Strong Alignment",
      "interaction_note": "The strikeout structure is favorable, but not as clean as the premium runway pocket.",
      "trust_modifier": "WATCHLIST_RUNWAY",
      "trust_label": "Watchlist Runway",
      "trust_note": "The strikeout structure is supportive and worth watching, but it is not as clean as the premium bucket.",
      "model_over_probability": 0.6275,
      "model_under_probability": 0.3725,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8113,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1838,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1838,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.25,
      "adjustment_multiplier": 1.038,
      "aggregate_matchup_score": 79.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25945.0,
      "lineup_expected_strikeouts": 6.78,
      "environment_summary": "neutral",
      "temperature_f": 80.8,
      "wind_speed_mph": 3.3,
      "wind_direction": "cross",
      "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": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 7.5,
      "line_type": "half",
      "over_odds": 134,
      "under_odds": null,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.2375,
      "model_under_probability": 0.7625,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.4274,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.1899,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.1899,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 3.5,
      "line_type": "half",
      "over_odds": -3500,
      "under_odds": null,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.7752,
      "model_under_probability": 0.2248,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.9722,
      "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.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 4.5,
      "line_type": "half",
      "over_odds": -850,
      "under_odds": null,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.6341,
      "model_under_probability": 0.3659,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.8947,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2606,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2606,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "PIT",
      "sportsbook": "FanDuel",
      "source_provider": "fanduel",
      "timestamp": null,
      "line": 5.5,
      "line_type": "half",
      "over_odds": -340,
      "under_odds": null,
      "expected_strikeouts": 5.69,
      "baseline_projected_strikeouts": 5.9,
      "adjusted_projected_strikeouts": 5.69,
      "skill_score": 56.4,
      "opportunity_score": 66.2,
      "opponent_weakness_score": 31.7,
      "support_tier": "DUAL_SUPPORT",
      "support_label": "Dual Support",
      "support_note": "Two of the three strikeout support layers align cleanly.",
      "suppression_score": 28.4,
      "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.4858,
      "model_under_probability": 0.5142,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.7727,
      "implied_under_probability_raw": null,
      "implied_over_probability_novig": null,
      "implied_under_probability_novig": null,
      "edge_over": -0.2869,
      "edge_under": null,
      "recommended_side": "No Play",
      "recommended_edge": -0.2869,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.21,
      "adjustment_multiplier": 0.965,
      "aggregate_matchup_score": 48.4,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.33,
      "environment_summary": "neutral",
      "temperature_f": 77.2,
      "wind_speed_mph": 4.6,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": [
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "TOR",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "TOR",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "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": "Anthony Kay",
      "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": "Anthony Kay",
      "team_abbr": "CWS",
      "opponent_abbr": "TOR",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Anthony Kay",
      "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": "Anthony Kay",
      "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": "Chris Sale 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": "Gage Jump",
      "team_abbr": "OAK",
      "opponent_abbr": "WSH",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gage Jump",
      "team_abbr": "OAK",
      "opponent_abbr": "WSH",
      "sportsbook": "FanDuel",
      "line": 5.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": "NYY",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": "NYY",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Gerrit Cole",
      "team_abbr": 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": "NYY",
      "opponent_abbr": "LAD",
      "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": "Griffin Jax",
      "team_abbr": "TB",
      "opponent_abbr": "BOS",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "team_abbr": "TB",
      "opponent_abbr": "BOS",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "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": "Griffin Jax",
      "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": "Griffin Jax",
      "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": "Griffin Jax",
      "team_abbr": "TB",
      "opponent_abbr": "BOS",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Griffin Jax",
      "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": "Griffin Jax",
      "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": "Griffin Jax",
      "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": "Jake Bennett",
      "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": "Jake Bennett",
      "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": "Jake Bennett",
      "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": "Jake Bennett",
      "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": "Jake Bennett",
      "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": "Jared Jones",
      "team_abbr": "PIT",
      "opponent_abbr": "CLE",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jared Jones",
      "team_abbr": "PIT",
      "opponent_abbr": "CLE",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jared Jones",
      "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": "Jared Jones",
      "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": "Jared Jones",
      "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": "Jared Jones",
      "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": "Jared Jones",
      "team_abbr": "PIT",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Jared Jones",
      "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": "Jared Jones",
      "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": "Logan Henderson",
      "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": "Logan Henderson",
      "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": "Logan Henderson",
      "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": "Logan Henderson",
      "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": "Logan Henderson",
      "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": "Logan Henderson",
      "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": "Michael McGreevy",
      "team_abbr": "STL",
      "opponent_abbr": "ARI",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Michael McGreevy",
      "team_abbr": "STL",
      "opponent_abbr": "ARI",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nick Martinez",
      "team_abbr": "TB",
      "opponent_abbr": "BOS",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nick Martinez",
      "team_abbr": "TB",
      "opponent_abbr": "BOS",
      "sportsbook": "DraftKings",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Nick Martinez",
      "team_abbr": "TB",
      "opponent_abbr": "BOS",
      "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": "BOS",
      "opponent_abbr": "TB",
      "sportsbook": "BetMGM",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": "BOS",
      "opponent_abbr": "TB",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Payton Tolle",
      "team_abbr": "BOS",
      "opponent_abbr": "TB",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Peter Lambert",
      "team_abbr": "HOU",
      "opponent_abbr": "BAL",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Peter Lambert",
      "team_abbr": "HOU",
      "opponent_abbr": "BAL",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Peter Lambert",
      "team_abbr": "HOU",
      "opponent_abbr": "BAL",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Reid Detmers",
      "team_abbr": "LAA",
      "opponent_abbr": "DET",
      "sportsbook": "BetMGM",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Reid Detmers",
      "team_abbr": "LAA",
      "opponent_abbr": "DET",
      "sportsbook": "DraftKings",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Reid Detmers",
      "team_abbr": "LAA",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Roki Sasaki",
      "team_abbr": "LAD",
      "opponent_abbr": "NYY",
      "sportsbook": "BetMGM",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Roki Sasaki",
      "team_abbr": "LAD",
      "opponent_abbr": "NYY",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Roki Sasaki",
      "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": "Roki Sasaki",
      "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": "Roki Sasaki",
      "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": "Roki Sasaki",
      "team_abbr": "LAD",
      "opponent_abbr": "NYY",
      "sportsbook": "FanDuel",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Roki Sasaki",
      "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": "Roki Sasaki",
      "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": "Roki Sasaki",
      "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": "Spencer Miles",
      "team_abbr": "TOR",
      "opponent_abbr": "CWS",
      "sportsbook": "BetMGM",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "team_abbr": "TOR",
      "opponent_abbr": "CWS",
      "sportsbook": "DraftKings",
      "line": 4.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "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": "Spencer Miles",
      "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": "Spencer Miles",
      "team_abbr": "TOR",
      "opponent_abbr": "CWS",
      "sportsbook": "FanDuel",
      "line": 3.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Spencer Miles",
      "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": "Spencer Miles",
      "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": "Spencer Miles",
      "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": "Troy Melton",
      "team_abbr": "DET",
      "opponent_abbr": "LAA",
      "sportsbook": "BetMGM",
      "line": 6.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Troy Melton",
      "team_abbr": "DET",
      "opponent_abbr": "LAA",
      "sportsbook": "DraftKings",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    },
    {
      "pitcher_name": "Troy Melton",
      "team_abbr": "DET",
      "opponent_abbr": "LAA",
      "sportsbook": "FanDuel",
      "line": 5.5,
      "source_file": "canonical_all_providers.json",
      "reason": "No matching Mithrandir strikeout props row was found."
    }
  ]
}