{
  "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:orbiplex:schema:operator-extension-activation:v1",
  "title": "Operator Extension Durable Activation V1", "type": "object", "additionalProperties": false,
  "required": ["schema", "schema/v", "activation/ref", "plan/ref", "plan/digest", "package/ref", "package/digest", "generation", "kind", "operational/class", "operator/binding-ref", "conformance/report-ref", "conformance/report-digest", "producers", "issued-at", "expires-at", "signature"],
  "properties": {
    "schema": {"const": "operator-extension-activation.v1"}, "schema/v": {"const": 1}, "activation/ref": {"$ref": "#/$defs/ref"}, "plan/ref": {"$ref": "#/$defs/ref"}, "plan/digest": {"$ref": "#/$defs/digest"}, "package/ref": {"$ref": "#/$defs/ref"}, "package/digest": {"$ref": "#/$defs/digest"}, "generation": {"type": "integer", "minimum": 1}, "kind": {"const": "durable"}, "operational/class": {"$ref": "#/$defs/class"}, "operator/binding-ref": {"$ref": "#/$defs/ref"}, "conformance/report-ref": {"$ref": "#/$defs/ref"}, "conformance/report-digest": {"$ref": "#/$defs/digest"}, "producers": {"type": "array", "maxItems": 32, "items": {"$ref": "#/$defs/producer"}}, "issued-at": {"type": "string", "format": "date-time"}, "expires-at": {"type": "string", "format": "date-time"}, "signature": {"$ref": "#/$defs/signature"}
  },
  "$defs": {"ref": {"type": "string", "minLength": 1, "maxLength": 256}, "digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"}, "class": {"type": "string", "enum": ["research", "experimental", "test", "production", "critical"]}, "signature": {"type": "object", "additionalProperties": false, "required": ["alg", "key/public", "value"], "properties": {"alg": {"const": "ed25519+domain-v1"}, "key/public": {"type": "string", "pattern": "^z[1-9A-HJ-NP-Za-km-z]{20,120}$"}, "value": {"type": "string", "pattern": "^[A-Za-z0-9_-]{86}$"}}}, "producer": {"type": "object", "additionalProperties": false, "required": ["hook/id", "hook/v", "producer/ref", "producer/digest", "priority", "mode", "advisory/failure-allowed"], "properties": {"hook/id": {"$ref": "#/$defs/ref"}, "hook/v": {"type": "integer", "minimum": 1}, "producer/ref": {"$ref": "#/$defs/ref"}, "producer/digest": {"$ref": "#/$defs/digest"}, "priority": {"type": "integer", "minimum": 0, "maximum": 65535}, "mode": {"type": "string", "enum": ["required", "advisory"]}, "advisory/failure-allowed": {"type": "boolean"}}, "allOf": [{"if": {"properties": {"mode": {"const": "required"}}, "required": ["mode"]}, "then": {"properties": {"advisory/failure-allowed": {"const": false}}}}]}},
  "x-dia-status": "accepted", "x-dia-basis": ["doc/project/40-proposals/085-operator-sovereign-extensibility-and-experiment-packages.md"]
}
