{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://xcim.invalid/ietf/as01/schemas/evidence-set.schema.json",
  "title": "AS01-F01 evidence-set",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "proposal_version",
    "object_type",
    "profile_id",
    "manifest",
    "control_head",
    "checkpoint",
    "anchor_evidence",
    "permission_evidence",
    "authority_evidence",
    "history_evidence"
  ],
  "properties": {
    "proposal_version": {
      "const": "as-01"
    },
    "object_type": {
      "const": "authority_evidence_set"
    },
    "profile_id": {
      "const": "as-01-anchored"
    },
    "manifest": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/quorum"
    },
    "control_head": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/jws"
    },
    "checkpoint": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/jws"
    },
    "anchor_evidence": {
      "type": "null",
      "description": "AS01-F01 development slot only. No anchor adapter exists; never a public-proof PASS."
    },
    "permission_evidence": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/permission-evidence.schema.json"
    },
    "authority_evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "witness",
          "material",
          "event",
          "event_inclusion"
        ],
        "properties": {
          "witness": {
            "$ref": "https://xcim.invalid/ietf/as01/schemas/witness.schema.json"
          },
          "material": {
            "oneOf": [
              {
                "$ref": "https://xcim.invalid/ietf/as01/schemas/material.schema.json"
              },
              {
                "type": "null"
              }
            ]
          },
          "event": {
            "oneOf": [
              {
                "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/jws"
              },
              {
                "type": "null"
              }
            ]
          },
          "event_inclusion": {
            "oneOf": [
              {
                "$ref": "https://xcim.invalid/ietf/as01/schemas/event-inclusion.schema.json"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "minItems": 1,
      "maxItems": 32
    },
    "history_evidence": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/history.schema.json"
    }
  }
}
