{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:orbiplex:schema:inference-consumption-policy:v1",
  "title": "Inference Consumption Policy v1",
  "description": "Receiving owner's explicit policy, independent of a producer declaration or execution evidence. Missing evidence is unknown; policy evaluation never rewrites producer evidence or grants authority.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema",
    "processing-boundary/ref",
    "locality",
    "provider/allow",
    "provider/deny",
    "unknown/policy",
    "evidence/complete-required"
  ],
  "properties": {
    "schema": {
      "const": "inference-consumption-policy.v1"
    },
    "processing-boundary/ref": {
      "$ref": "inference-provenance-common.v1.schema.json#/$defs/ref"
    },
    "locality": {
      "enum": [
        "local-only",
        "may-use-non-local",
        "non-local-required",
        "unknown"
      ]
    },
    "provider/allow": {
      "type": "array",
      "maxItems": 32,
      "uniqueItems": true,
      "items": {
        "$ref": "inference-provenance-common.v1.schema.json#/$defs/provider-ref"
      }
    },
    "provider/deny": {
      "type": "array",
      "maxItems": 32,
      "uniqueItems": true,
      "items": {
        "$ref": "inference-provenance-common.v1.schema.json#/$defs/provider-ref"
      }
    },
    "unknown/policy": {
      "enum": [
        "deny",
        "warn",
        "allow"
      ]
    },
    "evidence/complete-required": {
      "type": "boolean"
    }
  }
}
