{
  "$defs": {
    "Domain": {
      "enum": [
        "semantic",
        "units",
        "support",
        "rights",
        "integrity",
        "quality",
        "qa"
      ],
      "title": "Domain",
      "type": "string"
    },
    "Status": {
      "enum": [
        "PASS",
        "FAIL",
        "NEEDS_EVIDENCE",
        "NOT_APPLICABLE"
      ],
      "title": "Status",
      "type": "string"
    }
  },
  "additionalProperties": false,
  "properties": {
    "claim": {
      "maxLength": 2000,
      "minLength": 1,
      "title": "Claim",
      "type": "string"
    },
    "confidence": {
      "maximum": 1,
      "minimum": 0,
      "title": "Confidence",
      "type": "number"
    },
    "evidence": {
      "items": {
        "type": "string"
      },
      "maxItems": 16,
      "minItems": 1,
      "title": "Evidence",
      "type": "array"
    },
    "finding_id": {
      "pattern": "^[a-z][a-z0-9_.-]{2,100}$",
      "title": "Finding Id",
      "type": "string"
    },
    "references": {
      "default": [],
      "items": {
        "type": "string"
      },
      "title": "References",
      "type": "array"
    },
    "required_action": {
      "maxLength": 2000,
      "minLength": 1,
      "title": "Required Action",
      "type": "string"
    },
    "reviewer_domain": {
      "$ref": "#/$defs/Domain"
    },
    "schema_version": {
      "const": "1",
      "default": "1",
      "title": "Schema Version",
      "type": "string"
    },
    "severity": {
      "default": "blocker",
      "enum": [
        "info",
        "warning",
        "blocker"
      ],
      "title": "Severity",
      "type": "string"
    },
    "source": {
      "minLength": 1,
      "title": "Source",
      "type": "string"
    },
    "status": {
      "$ref": "#/$defs/Status"
    },
    "supporting_reviewers": {
      "default": [],
      "items": {
        "$ref": "#/$defs/Domain"
      },
      "title": "Supporting Reviewers",
      "type": "array"
    },
    "supports": {
      "default": [],
      "items": {
        "type": "string"
      },
      "title": "Supports",
      "type": "array"
    }
  },
  "required": [
    "finding_id",
    "reviewer_domain",
    "status",
    "claim",
    "evidence",
    "source",
    "required_action",
    "confidence"
  ],
  "title": "ReviewFinding",
  "type": "object"
}
