{
  "_comment": "Model set for run one. Version strings verified 2026-09-08 against each lab's live model list. A change to any string is a new Models row and triggers noise floor recalibration for that model.",
  "judge": {
    "model": "claude-opus-5",
    "note": "Judge is an Anthropic model and is disclosed as such. It runs at effort low with structured output so labels are deterministic given the text.",
    "input_price_per_m": 5,
    "output_price_per_m": 25
  },
  "models": [
    {
      "model_key": "anthropic-current",
      "lab": "anthropic",
      "model": "claude-opus-5",
      "generation": "current",
      "endpoint": "https://api.anthropic.com/v1/messages",
      "search": "web_search_20260209",
      "input_price_per_m": 5,
      "output_price_per_m": 25,
      "search_price_per_call": 0.01
    },
    {
      "model_key": "anthropic-prior",
      "lab": "anthropic",
      "model": "claude-opus-4-8",
      "generation": "prior",
      "endpoint": "https://api.anthropic.com/v1/messages",
      "search": "web_search_20260209",
      "input_price_per_m": 5,
      "output_price_per_m": 25,
      "search_price_per_call": 0.01
    },
    {
      "model_key": "openai-current",
      "lab": "openai",
      "model": "gpt-6-astra",
      "generation": "current",
      "endpoint": "https://api.openai.com/v1/responses",
      "search": "web_search",
      "input_price_per_m": 10,
      "output_price_per_m": 50,
      "search_price_per_call": 0.01
    },
    {
      "model_key": "openai-prior",
      "lab": "openai",
      "model": "gpt-5.6-sol",
      "generation": "prior",
      "endpoint": "https://api.openai.com/v1/responses",
      "search": "web_search",
      "input_price_per_m": 4,
      "output_price_per_m": 20,
      "search_price_per_call": 0.01
    },
    {
      "model_key": "google-single",
      "lab": "google",
      "model": "gemini-3.1-pro-preview",
      "generation": "single",
      "endpoint": "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-pro-preview:generateContent",
      "search": "google_search",
      "input_price_per_m": 2,
      "output_price_per_m": 12,
      "search_price_per_call": 0.014,
      "note": "Switched from gemini-3.8-flash on 2026-09-08: Flash never invoked Google Search in testing, Pro grounds. Preview build."
    },
    {
      "model_key": "challenger-single",
      "lab": "challenger",
      "model": "sonar-pro",
      "generation": "single",
      "endpoint": "https://api.perplexity.ai/chat/completions",
      "search": "native",
      "input_price_per_m": 3,
      "output_price_per_m": 15,
      "search_price_per_call": 0.01
    }
  ],
  "settings": {
    "temperature": "provider default",
    "max_output_tokens": 4000,
    "anthropic_max_search_uses": 5,
    "fresh_session_per_prompt": true,
    "system_prompt": "none"
  },
  "pricing_note": "List prices captured 2026-09-08 from each provider pricing page. Gemini prices rise on 2027-01-01. Gemini grounding has 5000 free requests per month, not modeled. Perplexity request fee assumes medium search context unless the response reports usage.cost.total_cost."
}
