{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "schemaVersion": {
   "type": "string",
   "const": "1.0"
  },
  "name": {
   "type": "string"
  },
  "checked": {
   "type": "string"
  },
  "license": {
   "type": "object",
   "properties": {
    "name": {
     "type": "string"
    },
    "url": {
     "type": "string",
     "format": "uri"
    }
   },
   "required": [
    "name",
    "url"
   ],
   "additionalProperties": false
  },
  "records": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string"
     },
     "model": {
      "type": "string"
     },
     "aliases": {
      "default": [],
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "kind": {
      "type": "string",
      "description": "speech: Spracherkennung, language: Sprachmodell"
     },
     "benchmark": {
      "type": "string"
     },
     "version": {
      "type": "string"
     },
     "value": {
      "type": "number"
     },
     "unit": {
      "type": "string"
     },
     "direction": {
      "type": "string",
      "enum": [
       "lower",
       "higher"
      ],
      "description": "lower: niedrigere Werte sind besser. higher: höhere Werte sind besser."
     },
     "configuration": {
      "type": "string"
     },
     "scope": {
      "type": "string"
     },
     "checked": {
      "type": "string"
     },
     "source": {
      "type": "object",
      "properties": {
       "title": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      },
      "required": [
       "title",
       "url"
      ],
      "additionalProperties": false
     },
     "authority": {
      "type": "string",
      "description": "independent: unabhängige Messung Dritter."
     },
     "rating": {
      "description": "Stufe nach ScribeIndex-Modellbewertung (Spitzenklasse, Stark, Solide, Schwach) relativ zu Bestwert und Median des Benchmarks. null: Benchmark wird angezeigt, aber nicht eingestuft, Begründung unter /methodik/#externe-modellbenchmarks.",
      "type": [
       "string",
       "null"
      ]
     }
    },
    "required": [
     "id",
     "model",
     "aliases",
     "kind",
     "benchmark",
     "version",
     "value",
     "unit",
     "direction",
     "checked",
     "source",
     "authority",
     "rating"
    ],
    "additionalProperties": false
   },
   "description": "Unabhängige Referenzwerte je Modell und Konfiguration."
  },
  "familyReferences": {
   "type": "object",
   "propertyNames": {
    "type": "string"
   },
   "additionalProperties": {
    "type": "array",
    "items": {
     "type": "string"
    }
   },
   "description": "Modellfamilie -> IDs der Referenzwerte, die die Spannweite der Familie zeigen."
  },
  "indexStats": {
   "description": "Bestwert und Median des jeweiligen Index zum Prüfdatum.",
   "type": "object",
   "propertyNames": {
    "type": "string"
   },
   "additionalProperties": {
    "type": "object",
    "properties": {
     "benchmark": {
      "type": "string"
     },
     "version": {
      "type": "string"
     },
     "mode": {
      "type": "string"
     },
     "best": {
      "type": "number"
     },
     "median": {
      "type": "number"
     },
     "count": {
      "type": "number"
     },
     "bestModel": {
      "type": "string"
     },
     "direction": {
      "type": "string",
      "enum": [
       "lower",
       "higher"
      ],
      "description": "lower: niedrigere Werte sind besser. higher: höhere Werte sind besser."
     },
     "unit": {
      "type": "string"
     },
     "source": {
      "type": "object",
      "properties": {
       "title": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      },
      "required": [
       "title",
       "url"
      ],
      "additionalProperties": false
     },
     "checked": {
      "type": "string"
     }
    },
    "required": [
     "benchmark",
     "best",
     "median"
    ],
    "additionalProperties": false
   }
  },
  "unavailable": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "model": {
      "type": "string"
     },
     "aliases": {
      "default": [],
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "reason": {
      "type": "string"
     },
     "checked": {
      "type": "string"
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "object",
       "properties": {
        "title": {
         "type": "string"
        },
        "url": {
         "type": "string",
         "format": "uri"
        }
       },
       "required": [
        "title",
        "url"
       ],
       "additionalProperties": false
      }
     }
    },
    "required": [
     "model",
     "aliases",
     "reason",
     "checked",
     "sources"
    ],
    "additionalProperties": false
   },
   "description": "Modelle ohne öffentlich verifizierbaren Referenzwert, mit Begründung."
  },
  "vendorClaims": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "provider": {
      "type": "string"
     },
     "modelName": {
      "type": "string"
     },
     "metric": {
      "type": "string"
     },
     "value": {
      "type": "number"
     },
     "unit": {
      "type": "string"
     },
     "comparison": {
      "type": [
       "string",
       "null"
      ]
     },
     "published": {
      "type": [
       "string",
       "null"
      ]
     },
     "source": {
      "type": "object",
      "properties": {
       "title": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      },
      "required": [
       "title",
       "url"
      ],
      "additionalProperties": false
     },
     "checked": {
      "type": "string"
     },
     "authority": {
      "type": "string",
      "const": "vendor"
     }
    },
    "required": [
     "provider",
     "modelName",
     "metric",
     "value",
     "unit",
     "source",
     "checked",
     "authority"
    ],
    "additionalProperties": false
   },
   "description": "Herstellerangaben zu eigenen oder angepassten Modellen. Nicht unabhängig geprüft und nicht in Bewertungen eingerechnet."
  },
  "methodologySources": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "title": {
      "type": "string"
     },
     "url": {
      "type": "string",
      "format": "uri"
     }
    },
    "required": [
     "title",
     "url"
    ],
    "additionalProperties": false
   }
  },
  "notes": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Hinweise zur Einordnung der Referenzwerte."
  }
 },
 "required": [
  "schemaVersion",
  "name",
  "checked",
  "license",
  "records",
  "familyReferences",
  "unavailable",
  "vendorClaims",
  "methodologySources",
  "notes"
 ],
 "additionalProperties": false,
 "title": "ScribeIndex Modellreferenzen",
 "description": "Aufbau von /daten/model-benchmarks.json: unabhängige Referenzwerte je Modell, Familienzuordnung, Modelle ohne Referenzwert und gekennzeichnete Herstellerangaben."
}