{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Registro de revisión humana",
  "type": "object",
  "additionalProperties": false,
  "required": ["reviewer", "role", "date", "scope", "commit", "dimensions", "result", "findings", "pending_dimensions"],
  "properties": {
    "reviewer": {"type": "string", "minLength": 2},
    "role": {"type": "string", "minLength": 2},
    "date": {"type": "string", "format": "date"},
    "scope": {"type": "object", "required": ["level", "subject", "objectives"], "properties": {"level": {"type": "string"}, "subject": {"type": "string"}, "objectives": {"type": "array", "minItems": 1, "items": {"type": "string"}}}},
    "commit": {"type": "string", "pattern": "^[0-9a-f]{7,40}$"},
    "dimensions": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"enum": ["disciplinar", "pedagogica", "accesibilidad", "cultural", "documental", "derechos"]}},
    "result": {"enum": ["aprobado", "aprobado_con_observaciones", "requiere_cambios"]},
    "findings": {"type": "array", "items": {"type": "object", "required": ["severity", "description"], "properties": {"severity": {"enum": ["bloqueante", "mayor", "menor", "observacion"]}, "description": {"type": "string", "minLength": 5}, "resolved_by": {"type": ["string", "null"]}}}},
    "pending_dimensions": {"type": "array", "uniqueItems": true, "items": {"type": "string"}}
  }
}
