{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ver.cy/schemas/dimension/1.0/runtime-model.schema.json",
  "title": "Vercy model runtime fact-path contract",
  "type": "object",
  "required": ["format", "schemaVersion", "modelId", "paths"],
  "additionalProperties": false,
  "properties": {
    "format": {"const": "vercy-runtime-model-schema"},
    "schemaVersion": {"const": "1.0.0"},
    "modelId": {"type": "string", "minLength": 3},
    "paths": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "required": ["valueTypes", "units"],
        "additionalProperties": false,
        "properties": {
          "valueTypes": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "enum": ["string", "integer", "number", "boolean", "array", "object", "null"]}},
          "units": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": ["string", "null"]}}
        }
      }
    }
  }
}
