{
  "sport": "NFL",
  "games": [
    {
      "game_id": "2026_01_DAL_PHI",
      "season": 2026,
      "week": 1,
      "game_window": "Week 1 Readiness",
      "kickoff_time": "2026-09-10T20:20:00-04:00",
      "home_team": "PHI",
      "away_team": "DAL",
      "favorite_team": "Pick",
      "underdog_team": "Pick",
      "spread": 0,
      "game_total": 0,
      "home_team_total": 0,
      "away_team_total": 0,
      "script_type": "Close game script / Low total",
      "game_script": "No posted lines in this cached readiness bundle.",
      "roof_status": "unknown",
      "derived_home_team_total": 0.0,
      "derived_away_team_total": 0.0,
      "team_total_derivation_source": "spread_plus_game_total",
      "projected_margin": 0.0,
      "total_environment": "Low total"
    }
  ],
  "counts": {
    "candidates": 0,
    "abstain": 0,
    "review": 0,
    "fade": 0
  },
  "context": {
    "season": 2026,
    "week": 1,
    "generated_at": "2026-07-11T12:00:00-04:00",
    "publish_time": "2026-07-11T12:00:00-04:00",
    "games": [
      {
        "game_id": "2026_01_DAL_PHI",
        "season": 2026,
        "week": 1,
        "game_window": "Week 1 Readiness",
        "kickoff_time": "2026-09-10T20:20:00-04:00",
        "home_team": "PHI",
        "away_team": "DAL",
        "favorite_team": "Pick",
        "underdog_team": "Pick",
        "spread": 0,
        "game_total": 0,
        "home_team_total": 0,
        "away_team_total": 0,
        "script_type": "Close game script / Low total",
        "game_script": "No posted lines in this cached readiness bundle.",
        "roof_status": "unknown",
        "derived_home_team_total": 0.0,
        "derived_away_team_total": 0.0,
        "team_total_derivation_source": "spread_plus_game_total",
        "projected_margin": 0.0,
        "total_environment": "Low total"
      }
    ],
    "team_markets": [],
    "player_props": [],
    "source_health": [
      {
        "source_key": "schedule",
        "label": "Game Metadata",
        "status": "Complete",
        "missing_required": [],
        "missing_optional": [
          "venue",
          "surface",
          "roof",
          "international_or_holiday"
        ],
        "provider": "nflverse/nflreadpy schedules",
        "cadence": "weekly slate plus game-window refresh",
        "last_updated": "2026-07-11T12:00:00-04:00",
        "freshness_status": "Fresh"
      },
      {
        "source_key": "odds",
        "label": "Market Lines",
        "status": "Degraded",
        "missing_required": [
          "game_id",
          "market",
          "side",
          "line",
          "odds",
          "sportsbook"
        ],
        "missing_optional": [
          "over_odds",
          "under_odds",
          "book_count",
          "best_book",
          "best_line",
          "best_odds"
        ],
        "provider": "odds API",
        "cadence": "pre-publish and publish-time refresh",
        "last_updated": "2026-07-11T12:00:00-04:00",
        "freshness_status": "Fresh"
      },
      {
        "source_key": "usage",
        "label": "Usage and Role",
        "status": "Degraded",
        "missing_required": [
          "player_name",
          "team",
          "position",
          "role_context_available"
        ],
        "missing_optional": [
          "snap_share",
          "route_share",
          "target_share",
          "rush_share",
          "red_zone_role",
          "goal_line_role"
        ],
        "provider": "nflverse/nflreadpy participation where available",
        "cadence": "weekly after games, with depth-chart overrides before kickoff",
        "last_updated": "2026-07-11T12:00:00-04:00",
        "freshness_status": "Fresh"
      },
      {
        "source_key": "injuries",
        "label": "Injuries and Inactives",
        "status": "Degraded",
        "missing_required": [
          "inactive_state",
          "projection_includes_injury_news"
        ],
        "missing_optional": [
          "player_injury_status",
          "player_injury_designation",
          "teammate_absence_boost",
          "next_man_up_role"
        ],
        "provider": "official team reports and 90-minute inactive report",
        "cadence": "daily practice reports, final status, and per-window 90-minute inactives",
        "last_updated": "2026-07-11T12:00:00-04:00",
        "freshness_status": "Fresh"
      },
      {
        "source_key": "team_context",
        "label": "Team Context",
        "status": "Degraded",
        "missing_required": [
          "team_context_available"
        ],
        "missing_optional": [
          "pace",
          "proe",
          "efficiency",
          "rest_days",
          "travel_spot",
          "off_bye"
        ],
        "provider": "derived from market, nflverse/nflreadpy, and baseline model inputs",
        "cadence": "pre-slate and publish-time refresh",
        "last_updated": "2026-07-11T12:00:00-04:00",
        "freshness_status": "Fresh"
      },
      {
        "source_key": "matchup",
        "label": "Defensive Matchup",
        "status": "Degraded",
        "missing_required": [
          "defensive_rank",
          "matchup_sample_games"
        ],
        "missing_optional": [
          "sos_adjusted",
          "defensive_injury_matchup_delta",
          "opponent_secondary_injury_count"
        ],
        "provider": "nflverse/nflreadpy plus optional PFF/FTN enrichment",
        "cadence": "weekly season-long and recent-window refresh",
        "last_updated": "2026-07-11T12:00:00-04:00",
        "freshness_status": "Fresh"
      },
      {
        "source_key": "weather",
        "label": "Weather",
        "status": "Degraded",
        "missing_required": [
          "wind_speed",
          "wind_direction",
          "precipitation",
          "temperature"
        ],
        "missing_optional": [
          "field_condition"
        ],
        "provider": "weather API",
        "cadence": "daily, then same-day window refresh",
        "last_updated": "2026-07-11T12:00:00-04:00",
        "freshness_status": "Fresh"
      }
    ],
    "source_health_summary": {
      "gate_status": "ABSTAIN",
      "gate_explanation": "Missing or degraded core source families require Abstain / No Play.",
      "fail_closed": true,
      "review_required": false,
      "source_count": 7,
      "missing_or_degraded_sources": [
        "odds",
        "usage",
        "injuries",
        "team_context",
        "matchup",
        "weather"
      ],
      "stale_or_future_sources": [],
      "unknown_fast_moving_sources": [],
      "live_enablement_allowed": false
    },
    "historical_coverage": {
      "result_sets": 2,
      "weeks": [
        "2026-W01",
        "2026-W02"
      ],
      "rows": 9,
      "markets": {
        "anytime_td": 1,
        "passing_yards": 2,
        "receiving_yards": 2,
        "rush_receiving_yards": 1,
        "rushing_yards": 2,
        "team_total": 1
      }
    },
    "injury_timeline_summary": {
      "events": 6,
      "players": [
        "Inactive WR",
        "Next Man Up RB",
        "Starting RB"
      ],
      "official_confirmations": 3,
      "invalidated_players": [
        "Inactive WR",
        "Starting RB"
      ]
    }
  },
  "candidates": []
}