{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/feason-com/json-schema/feason-com-claim-proof-artifact-schema.json",
  "title": "ClaimProofArtifact",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/feason-com-openapi.yml#/components/schemas/ClaimProofArtifact",
  "type": "object",
  "required": [
    "proofId",
    "proofVersion",
    "generatedAt",
    "corpusVersion",
    "claim",
    "graph",
    "obligations",
    "result",
    "validation",
    "methodology",
    "caveats",
    "integrity"
  ],
  "properties": {
    "proofId": {
      "type": "string",
      "pattern": "^proof_[a-f0-9]{20}$"
    },
    "proofVersion": {
      "const": "feason-claim-proof-v1"
    },
    "generatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "corpusVersion": {
      "type": "string"
    },
    "claim": {
      "type": "object",
      "required": [
        "submitted",
        "normalizedSlug",
        "label",
        "description"
      ],
      "properties": {
        "submitted": {
          "type": "string"
        },
        "normalizedSlug": {
          "type": [
            "string",
            "null"
          ]
        },
        "label": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "graph": {
      "type": "object",
      "required": [
        "nodes",
        "edges"
      ],
      "properties": {
        "nodes": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "edges": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    },
    "obligations": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "obligationId",
          "label",
          "passed",
          "detail"
        ],
        "properties": {
          "obligationId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "passed": {
            "type": "boolean"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "result": {
      "type": "object",
      "required": [
        "status",
        "label",
        "explanation",
        "confidence",
        "evidenceCounts",
        "representedTraditions"
      ],
      "properties": {
        "status": {
          "enum": [
            "corpus_supported",
            "corpus_supported_with_qualifications",
            "corpus_disputed",
            "corpus_opposed",
            "insufficient_evidence"
          ]
        },
        "label": {
          "type": "string"
        },
        "explanation": {
          "type": "string"
        },
        "confidence": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "evidenceCounts": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "minimum": 0
          }
        },
        "representedTraditions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "validation": {
      "type": "object",
      "required": [
        "valid",
        "meaning",
        "checks"
      ],
      "properties": {
        "valid": {
          "type": "boolean"
        },
        "meaning": {
          "type": "string"
        },
        "checks": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    },
    "methodology": {
      "type": "string"
    },
    "caveats": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "integrity": {
      "type": "object",
      "required": [
        "scheme",
        "rootDigest",
        "commitmentCount",
        "commitments",
        "authenticity",
        "verifies",
        "limitation"
      ],
      "properties": {
        "scheme": {
          "const": "sha256-merkle-v1"
        },
        "rootDigest": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        },
        "commitmentCount": {
          "type": "integer",
          "minimum": 1
        },
        "commitments": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "authenticity": {
          "const": "unsigned"
        },
        "verifies": {
          "type": "string"
        },
        "limitation": {
          "type": "string"
        }
      }
    }
  }
}