{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.local/schemas/review_record.schema.json",
  "title": "ReviewRecord",
  "type": "object",
  "required": [
    "review_id",
    "entity_type",
    "entity_id",
    "priority",
    "reason_codes",
    "status",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "review_id": {"type": "string"},
    "entity_type": {
      "type": "string",
      "enum": ["parser_event", "feature_record", "label_record"]
    },
    "entity_id": {"type": "string"},
    "priority": {"type": "string", "enum": ["P0", "P1", "P2"]},
    "reason_codes": {
      "type": "array",
      "items": {"type": "string"},
      "minItems": 1
    },
    "status": {"type": "string", "enum": ["open", "in_progress", "resolved", "wont_fix"]},
    "assigned_to": {"type": ["string", "null"]},
    "snapshot_refs": {
      "type": "array",
      "items": {"type": "string"}
    },
    "suggested_overrides": {"type": ["object", "null"]},
    "resolution_type": {"type": ["string", "null"]},
    "root_cause": {"type": ["string", "null"]},
    "notes": {"type": ["string", "null"]},
    "reviewer_id": {"type": ["string", "null"]},
    "created_at": {"type": "string", "format": "date-time"},
    "updated_at": {"type": "string", "format": "date-time"},
    "resolved_at": {"type": ["string", "null"], "format": "date-time"}
  },
  "additionalProperties": true
}
