{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "BioBenchmarks v2.0 Schema",
  "description": "Schema for the BioBenchmarks portal catalog.",
  "version": "2.0.0",
  "type": "object",
  "definitions": {
    "benchmark": {
      "type": "object",
      "required": [
        "id",
        "name",
        "stages",
        "modalities",
        "task_types",
        "description",
        "size",
        "primary_paper",
        "rubric",
        "composite_score",
        "experimental_validation"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "stages": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "modalities": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "task_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "composite_score": {
          "type": "number"
        },
        "experimental_validation": {
          "type": "string",
          "enum": [
            "none",
            "retrospective",
            "prospective",
            "wet-lab-confirmed",
            "clinical"
          ]
        },
        "leaderboard_url": {
          "type": "string"
        },
        "dataset_url": {
          "type": "string"
        },
        "paper_url": {
          "type": "string"
        },
        "github_url": {
          "type": "string"
        },
        "huggingface_url": {
          "type": "string"
        }
      }
    },
    "initiative": {
      "type": "object",
      "required": [
        "id",
        "name",
        "kind",
        "url",
        "benchmarks_tracked"
      ],
      "properties": {
        "hosted_benchmarks": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "name",
              "url"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "leaderboard_url": {
                "type": "string"
              },
              "paper_url": {
                "type": "string"
              },
              "category": {
                "type": "string"
              },
              "description": {
                "type": "string"
              }
            }
          }
        },
        "hosted_benchmarks_count": {
          "type": "integer"
        }
      }
    },
    "private_benchmark": {
      "type": "object",
      "required": [
        "id",
        "name",
        "owner",
        "task",
        "access_mechanism",
        "evidence_source",
        "why_it_matters"
      ],
      "properties": {
        "access_mechanism": {
          "type": "string",
          "enum": [
            "closed",
            "collaboration",
            "data-sharing-agreement",
            "conditional-access"
          ]
        },
        "public_proxy": {
          "type": "string"
        }
      }
    }
  }
}