{
  "as_of": "2026-09-14",
  "horizon": 36,
  "race_interval": 6,
  "default_preset": "without-pacing",
  "controls": [
    {
      "key": "demand_growth",
      "label": "Annual growth in tasks sold",
      "min": 0,
      "max": 200,
      "step": 5,
      "unit": "%",
      "primary": true
    },
    {
      "key": "budget_growth",
      "label": "Increase in each new development budget",
      "min": 0,
      "max": 75,
      "step": 5,
      "unit": "%",
      "primary": true
    },
    {
      "key": "price_decline",
      "label": "Annual decline in price per task",
      "min": 0,
      "max": 70,
      "step": 5,
      "unit": "%",
      "primary": true
    },
    {
      "key": "cost_decline",
      "label": "Annual decline in serving cost per task",
      "min": 0,
      "max": 70,
      "step": 5,
      "unit": "%",
      "primary": true
    },
    {
      "key": "revenue",
      "label": "Starting annualized sales",
      "min": 10,
      "max": 100,
      "step": 5,
      "unit": "$B"
    },
    {
      "key": "budget",
      "label": "First development budget",
      "min": 1,
      "max": 30,
      "step": 1,
      "unit": "$B"
    },
    {
      "key": "margin",
      "label": "Starting contribution margin",
      "min": 10,
      "max": 80,
      "step": 5,
      "unit": "%"
    },
    {
      "key": "upfront",
      "label": "Budget paid at the start",
      "min": 0,
      "max": 100,
      "step": 5,
      "unit": "%"
    },
    {
      "key": "price_protection",
      "label": "Price erosion avoided by pacing",
      "min": 0,
      "max": 100,
      "step": 10,
      "unit": "%"
    },
    {
      "key": "demand_penalty",
      "label": "Annual task-volume shortfall from pacing",
      "min": 0,
      "max": 75,
      "step": 5,
      "unit": "%"
    }
  ],
  "defaults": {
    "demand_growth": 50,
    "budget_growth": 25,
    "price_decline": 30,
    "cost_decline": 20,
    "upfront": 25,
    "price_protection": 0,
    "demand_penalty": 0,
    "revenue": 40,
    "margin": 40.0,
    "budget": 10
  },
  "presets": [
    {
      "id": "without-pacing",
      "label": "Without pacing",
      "increase_percent": 0
    },
    {
      "id": "pacing-75",
      "label": "Increase time between model releases by 75%",
      "increase_percent": 75
    },
    {
      "id": "pacing-150",
      "label": "Increase time between model releases by 150%",
      "increase_percent": 150
    }
  ],
  "basis": {
    "scale": "Starting revenue, contribution margin and first budget are populated from capital-timing.json. These are scenario anchors, not a disclosed cash-flow schedule.",
    "rates": "All three scenarios share the same sales-growth, price, serving-cost, budget-growth and payment assumptions. The scenario selection changes only the release interval. These are counterfactual examples, not probabilities or forecasts for named labs.",
    "budget": "Each assumed model-release cycle funds one portfolio training and research budget, not one final training run or a separate purchase of the entire GPU fleet. Each successive budget grows by the chosen percentage. Longer release intervals fund fewer rounds inside the same horizon. A round beginning before the horizon pays its upfront share at its exact start, with the rest paid evenly over its full interval. Payments after the horizon on an unfinished round are reported separately as remaining commitments.",
    "contribution": "Receipts less variable serving cost, before research, overhead, financing, tax and working-capital changes. Negative contribution is permitted; the simulation does not automatically stop selling loss-making tasks. Customer contribution uses each calendar month\u2019s midpoint rate; fractional development boundaries split that monthly amount proportionally.",
    "pacing": "Release intervals equal the baseline interval times one plus the selected percentage increase. Price protection and task-volume shortfall apply to either paced scenario, using the same selected annual assumptions; both are zero by default and have no effect without pacing. Serving efficiency follows calendar time in all paths.",
    "limits": "No strategic-equilibrium estimate, inference from benchmark half-life to realized prices, endogenous customer demand, model-specific cash attribution, company bank balance, terminal value or equal-capability assumption. Uncovered spending is a funding requirement before existing cash or external capital. The model omits responses such as cutting spending, raising prices or exiting a loss-making business."
  }
}
