{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/Enicast/Abulafia/knowledge/contracts/journal-yuga-evidence-ledger.schema.json",
  "title": "Journal-Yuga Evidence Ledger",
  "type": "object",
  "required": ["schema_version", "records"],
  "properties": {
    "schema_version": { "const": 1 },
    "records": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["source_id", "source_type", "provenance", "access_status", "extraction_status", "granularity", "claim"],
        "properties": {
          "source_id": { "type": "string", "minLength": 1 },
          "source_type": { "type": "string", "minLength": 1 },
          "provenance": { "type": "string", "minLength": 1 },
          "access_status": { "enum": ["available", "inaccessible", "unknown"] },
          "extraction_status": { "enum": ["not_started", "partial", "complete", "failed"] },
          "granularity": {
            "enum": ["source_fact", "text_extracted_claim", "inferred_pattern", "corpus_observation", "user_tacit_note", "vendor_claim", "unknown", "conflicting_evidence"]
          },
          "claim": { "type": "string" },
          "observed_at": { "type": "string" },
          "valid_until": { "type": "string" }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": false
}
