{
  "$id": "https://leuven-gravity-institute.github.io/gwmock-benchmark/data/v1/schema/record-v1.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "A single metrics-only benchmark data point.",
  "properties": {
    "configuration": {
      "additionalProperties": {
        "anyOf": [
          {
            "type": [
              "string",
              "number",
              "integer",
              "boolean",
              "null"
            ]
          },
          {
            "items": {
              "type": [
                "string",
                "number",
                "integer",
                "boolean",
                "null"
              ]
            },
            "type": "array"
          }
        ]
      },
      "description": "Run settings: each value is a scalar or a flat list of scalars.",
      "type": "object"
    },
    "label": {
      "description": "Human-readable label used in figures and tables.",
      "type": "string"
    },
    "metrics": {
      "additionalProperties": {
        "type": [
          "number",
          "null"
        ]
      },
      "description": "Measured numbers; each value is a number or null.",
      "type": "object"
    },
    "package": {
      "description": "Benchmarked package distribution name.",
      "type": "string"
    },
    "provenance": {
      "additionalProperties": true,
      "description": "Code versions and hardware behind the run (no hostname).",
      "properties": {
        "contributor": {
          "type": [
            "string",
            "null"
          ]
        },
        "cpu_model": {
          "type": "string"
        },
        "gpu_models": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "gwmock_benchmark_version": {
          "type": [
            "string",
            "null"
          ]
        },
        "library_versions": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "n_cpu_cores": {
          "type": [
            "integer",
            "null"
          ]
        },
        "n_gpus": {
          "type": [
            "integer",
            "null"
          ]
        },
        "package": {
          "type": [
            "string",
            "null"
          ]
        },
        "package_version": {
          "type": [
            "string",
            "null"
          ]
        },
        "platform": {
          "type": "string"
        },
        "python_version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "schema_version": {
      "const": 1
    },
    "suite": {
      "description": "Suite within the package, e.g. performance or consistency.",
      "type": "string"
    }
  },
  "required": [
    "schema_version",
    "package",
    "suite",
    "label",
    "configuration",
    "metrics",
    "provenance"
  ],
  "title": "gwmock-benchmark record",
  "type": "object"
}
