{
  "issue_count": 23,
  "milestone_count": 6,
  "milestones": [
    "Milestone 1: Foundation",
    "Milestone 2: Static Runner And Report Shape",
    "Milestone 3: NFL-Specific Context",
    "Milestone 4: Data Integration",
    "Milestone 5: Tracking And Promotion",
    "Production Backlog After Fixture Build"
  ],
  "pending_production_readiness": [
    "approved live providers and provider-specific schema fixtures",
    "real nflverse/nflreadpy data ingestion beyond fixture boundaries",
    "live odds, weather, injury, and inactive adapters",
    "historical replay with real seasons",
    "provider-backed calibration of thresholds and lifecycle promotion rules",
    "Cloudflare Pages repository configuration after GitHub repo creation"
  ],
  "blocked_issue_numbers": [
    18
  ],
  "production_issue_numbers": [
    18,
    19,
    20,
    21,
    22,
    23
  ],
  "issues": [
    {
      "number": 1,
      "title": "Repo Bootstrap And Project Skeleton",
      "milestone": "Milestone 1: Foundation",
      "labels": [
        "foundation",
        "repo"
      ],
      "acceptance_count": 3
    },
    {
      "number": 2,
      "title": "Config Constants For V1 Markets And Thresholds",
      "milestone": "Milestone 1: Foundation",
      "labels": [
        "foundation",
        "config",
        "markets"
      ],
      "acceptance_count": 4
    },
    {
      "number": 3,
      "title": "Core Contract Dataclasses",
      "milestone": "Milestone 1: Foundation",
      "labels": [
        "foundation",
        "contracts"
      ],
      "acceptance_count": 2
    },
    {
      "number": 4,
      "title": "Odds And Market Math",
      "milestone": "Milestone 1: Foundation",
      "labels": [
        "foundation",
        "market-line"
      ],
      "acceptance_count": 4
    },
    {
      "number": 5,
      "title": "Foundational Gates And Grade/State Mapping",
      "milestone": "Milestone 1: Foundation",
      "labels": [
        "foundation",
        "grading",
        "gates"
      ],
      "acceptance_count": 7
    },
    {
      "number": 6,
      "title": "Mock Slate Fixture",
      "milestone": "Milestone 2: Static Runner And Report Shape",
      "labels": [
        "fixtures",
        "runner"
      ],
      "acceptance_count": 2
    },
    {
      "number": 7,
      "title": "Static Daily/Window Runner",
      "milestone": "Milestone 2: Static Runner And Report Shape",
      "labels": [
        "runner",
        "workflow"
      ],
      "acceptance_count": 3
    },
    {
      "number": 8,
      "title": "Initial HTML Report Prototype",
      "milestone": "Milestone 2: Static Runner And Report Shape",
      "labels": [
        "reporting",
        "ui"
      ],
      "acceptance_count": 5
    },
    {
      "number": 9,
      "title": "Role / Injury / Opportunity Module",
      "milestone": "Milestone 3: NFL-Specific Context",
      "labels": [
        "injuries",
        "opportunity",
        "context"
      ],
      "acceptance_count": 3
    },
    {
      "number": 10,
      "title": "Defensive Matchup Module",
      "milestone": "Milestone 3: NFL-Specific Context",
      "labels": [
        "matchup",
        "context"
      ],
      "acceptance_count": 4
    },
    {
      "number": 11,
      "title": "Game Script And Correlation Module",
      "milestone": "Milestone 3: NFL-Specific Context",
      "labels": [
        "game-script",
        "correlation"
      ],
      "acceptance_count": 3
    },
    {
      "number": 12,
      "title": "nflverse/nflreadpy Baseline Loader",
      "milestone": "Milestone 4: Data Integration",
      "labels": [
        "data",
        "projection"
      ],
      "acceptance_count": 3
    },
    {
      "number": 13,
      "title": "Odds Provider Integration",
      "milestone": "Milestone 4: Data Integration",
      "labels": [
        "odds",
        "market-line"
      ],
      "acceptance_count": 3
    },
    {
      "number": 14,
      "title": "Injury/Inactives Provider Integration",
      "milestone": "Milestone 4: Data Integration",
      "labels": [
        "injuries",
        "inactives"
      ],
      "acceptance_count": 3
    },
    {
      "number": 15,
      "title": "Tracker CSV And Audit JSON",
      "milestone": "Milestone 5: Tracking And Promotion",
      "labels": [
        "tracking",
        "audit"
      ],
      "acceptance_count": 2
    },
    {
      "number": 16,
      "title": "Market Health And Promotion Rules",
      "milestone": "Milestone 5: Tracking And Promotion",
      "labels": [
        "market-health",
        "calibration"
      ],
      "acceptance_count": 3
    },
    {
      "number": 17,
      "title": "Historical Backtest Harness",
      "milestone": "Milestone 5: Tracking And Promotion",
      "labels": [
        "backtest",
        "calibration"
      ],
      "acceptance_count": 3
    },
    {
      "number": 18,
      "title": "Approve Live Providers And Add Schema Fixtures",
      "milestone": "Production Backlog After Fixture Build",
      "labels": [
        "data",
        "providers",
        "blocked"
      ],
      "acceptance_count": 4
    },
    {
      "number": 19,
      "title": "Implement Provider-Specific Odds Adapter",
      "milestone": "Production Backlog After Fixture Build",
      "labels": [
        "odds",
        "provider",
        "market-line"
      ],
      "acceptance_count": 4
    },
    {
      "number": 20,
      "title": "Implement Official Injury/Inactives Adapter",
      "milestone": "Production Backlog After Fixture Build",
      "labels": [
        "injuries",
        "inactives",
        "provider"
      ],
      "acceptance_count": 4
    },
    {
      "number": 21,
      "title": "Implement Real nflverse/nflreadpy Baseline Loader",
      "milestone": "Production Backlog After Fixture Build",
      "labels": [
        "data",
        "projection",
        "nflverse"
      ],
      "acceptance_count": 4
    },
    {
      "number": 22,
      "title": "Real Historical Replay And Calibration Report",
      "milestone": "Production Backlog After Fixture Build",
      "labels": [
        "backtest",
        "calibration",
        "market-health"
      ],
      "acceptance_count": 4
    },
    {
      "number": 23,
      "title": "Cloudflare Pages Repository Wiring",
      "milestone": "Production Backlog After Fixture Build",
      "labels": [
        "publishing",
        "repo"
      ],
      "acceptance_count": 3
    }
  ],
  "recommended_next_build_slice": "Start with Issue 18 only after provider choices are approved. Until then, keep improving fixture-mode tests, docs, and report UX without introducing live dependencies."
}