{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://benchmarks.duellab.org/benchmark_summary.schema.json",
  "title": "DuelLab GameBench 2 public summary",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "public_release_id",
    "generated_at",
    "benchmark_line",
    "benchmark_version",
    "scoring_policy_id",
    "rating_method_id",
    "game_policy",
    "updated_at",
    "model_count",
    "reasoning_variant_count",
    "model_family_count",
    "total_model_setting_variant_count",
    "ranked_model_setting_variant_count",
    "provisional_model_setting_variant_count",
    "ranked_overall_model_count",
    "partial_overall_model_count",
    "unique_code_entrant_count",
    "per_game_unique_entrant_counts",
    "game_count",
    "data_license_url",
    "citation_url",
    "top_reasoning_variants"
  ],
  "properties": {
    "schema_version": { "enum": [2, 3, 4] },
    "public_release_id": { "type": "string", "pattern": "^gb2-[0-9]{8}-[a-f0-9]{12}$" },
    "generated_at": { "type": "string", "format": "date-time" },
    "benchmark_line": { "const": "gamebench2" },
    "benchmark_version": { "type": "string", "minLength": 1 },
    "scoring_policy_id": { "type": "string", "minLength": 1 },
    "rating_method_id": { "type": "string", "minLength": 1 },
    "game_policy": { "const": "public_named" },
    "updated_at": { "type": "string", "format": "date" },
    "model_count": { "type": "integer", "minimum": 0 },
    "reasoning_variant_count": { "type": "integer", "minimum": 0 },
    "model_family_count": { "type": "integer", "minimum": 0 },
    "total_model_setting_variant_count": { "type": "integer", "minimum": 0 },
    "ranked_model_setting_variant_count": { "type": "integer", "minimum": 0 },
    "provisional_model_setting_variant_count": { "type": "integer", "minimum": 0 },
    "ranked_overall_model_count": { "type": "integer", "minimum": 0 },
    "partial_overall_model_count": { "type": "integer", "minimum": 0 },
    "unique_code_entrant_count": { "type": "integer", "minimum": 0 },
    "per_game_unique_entrant_counts": {
      "type": "object",
      "additionalProperties": { "type": "integer", "minimum": 0 }
    },
    "game_count": { "type": "integer", "minimum": 0 },
    "rated_match_count": { "type": "integer", "minimum": 1 },
    "data_license_url": { "const": "https://creativecommons.org/licenses/by/4.0/" },
    "citation_url": { "type": "string", "format": "uri" },
    "top_reasoning_variants": {
      "type": "array",
      "maxItems": 3,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["rank", "model_name", "reasoning", "score"],
        "properties": {
          "rank": { "type": "integer", "minimum": 1, "maximum": 3 },
          "model_name": { "type": "string", "minLength": 1 },
          "reasoning": { "type": "string", "minLength": 1 },
          "reasoning_bracket": { "enum": ["baseline", "balanced", "intensive", "unknown"] },
          "score": { "type": "number", "minimum": 0, "maximum": 100 }
        }
      }
    }
  }
}
