{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Model research run metadata",
  "type": "object",
  "additionalProperties": false,
  "required": ["run_id", "provider", "model_family", "model_identifier", "collected_at", "interface", "canonical_prompt_sha256", "adaptation", "sampling_parameters", "response_sha256"],
  "properties": {
    "run_id": {"type": "string", "minLength": 3},
    "provider": {"type": "string", "minLength": 1},
    "model_family": {"type": "string", "minLength": 1},
    "model_identifier": {"type": "string", "minLength": 1},
    "collected_at": {"type": "string", "format": "date-time"},
    "interface": {"type": "string", "minLength": 1},
    "canonical_prompt_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
    "adaptation": {"type": ["string", "null"]},
    "sampling_parameters": {"type": "object"},
    "response_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
  }
}
