{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://heliovulcan.com.au/data/schemas/claims.schema.json",
  "title": "Heliovulcan Claim Registry",
  "type": "object",
  "required": ["project_id", "version", "updated_at", "claims"],
  "properties": {
    "project_id": { "type": "string", "pattern": "^project_[a-z0-9_]+$" },
    "version": { "type": "string" },
    "updated_at": { "type": "string", "format": "date" },
    "currency_note": { "type": "string" },
    "claims": {
      "type": "array",
      "minItems": 8,
      "items": {
        "type": "object",
        "required": ["claim_id", "statement", "claim_type", "confidence", "evidence_ids", "last_verified", "status"],
        "properties": {
          "claim_id": { "type": "string", "pattern": "^[A-Z]+(-[A-Z0-9]+)+$" },
          "statement": { "type": "string", "minLength": 20 },
          "value": { "type": "number" },
          "unit": { "type": "string" },
          "claim_type": {
            "enum": ["reported", "public_source", "calculated", "derived", "interpreted", "assumption", "unresolved", "owner_confirmation_required"]
          },
          "confidence": { "enum": ["high", "medium", "low"] },
          "method_id": { "type": "string", "pattern": "^METHOD-[A-Z0-9-]+$" },
          "evidence_ids": { "type": "array", "items": { "type": "string" } },
          "last_verified": { "type": "string", "format": "date" },
          "status": { "enum": ["published", "draft", "unresolved", "withdrawn"] },
          "limitations": { "type": "string" }
        },
        "additionalProperties": false
      }
    }
  }
}
