{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:orbiplex:schema:operator-extension-inspection:v1",
  "title": "Operator Extension Inspection V1",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema", "schema/v", "safe-mode/active", "packages", "policies"],
  "properties": {
    "schema": {"const": "operator-extension-inspection.v1"},
    "schema/v": {"const": 1},
    "safe-mode/active": {"type": "boolean"},
    "packages": {
      "type": "array",
      "maxItems": 64,
      "items": {"$ref": "#/$defs/package-status"}
    },
    "policies": {
      "type": "array",
      "maxItems": 256,
      "items": {"$ref": "#/$defs/policy-status"}
    },
    "attention/usage": {
      "type": "array",
      "maxItems": 256,
      "items": {"$ref": "#/$defs/attention-usage"}
    },
    "authority/decisions": {
      "type": "array",
      "maxItems": 256,
      "items": {"$ref": "#/$defs/authority-decision"}
    },
    "runtime/diagnostics": {"$ref": "#/$defs/runtime-diagnostics"}
  },
  "$defs": {
    "ref": {"type": "string", "minLength": 1, "maxLength": 256},
    "digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
    "semantic-digest": {"type": "string", "pattern": "^sha256:[A-Za-z0-9_-]{43}$"},
    "profile-refs": {
      "type": "array", "minItems": 1, "maxItems": 16, "uniqueItems": true,
      "items": {"$ref": "#/$defs/ref"}
    },
    "optional-ref": {"oneOf": [{"$ref": "#/$defs/ref"}, {"type": "null"}]},
    "runtime-diagnostics": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "compiled-cache/entries", "compiled-cache/max-entries",
        "authority-decisions/facts", "authority-decisions/max-facts",
        "attention/events", "attention/max-events", "packages/inert",
        "packages/active", "policies/active", "store/indexes-healthy"
      ],
      "properties": {
        "compiled-cache/entries": {"type": "integer", "minimum": 0, "maximum": 64},
        "compiled-cache/max-entries": {"const": 64},
        "authority-decisions/facts": {"type": "integer", "minimum": 0, "maximum": 4096},
        "authority-decisions/max-facts": {"const": 4096},
        "attention/events": {"type": "integer", "minimum": 0, "maximum": 4096},
        "attention/max-events": {"const": 4096},
        "packages/inert": {"type": "integer", "minimum": 0, "maximum": 64},
        "packages/active": {"type": "integer", "minimum": 0, "maximum": 64},
        "policies/active": {"type": "integer", "minimum": 0, "maximum": 256},
        "ttl/next-expiry-at": {"type": "string", "format": "date-time"},
        "store/indexes-healthy": {"type": "boolean"}
      }
    },
    "attention-group": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "group/ref", "notification/question-ref", "security", "opened/at", "last/at",
        "expires/at", "items/count", "question/refs", "question/refs-omitted"
      ],
      "properties": {
        "group/ref": {"$ref": "#/$defs/ref"},
        "notification/question-ref": {"$ref": "#/$defs/ref"},
        "security": {"type": "boolean"},
        "opened/at": {"type": "string", "format": "date-time"},
        "last/at": {"type": "string", "format": "date-time"},
        "expires/at": {"type": "string", "format": "date-time"},
        "items/count": {"type": "integer", "minimum": 1, "maximum": 4096},
        "question/refs": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "uniqueItems": true,
          "items": {"$ref": "#/$defs/ref"}
        },
        "question/refs-omitted": {"type": "integer", "minimum": 0, "maximum": 4096}
      }
    },
    "attention-usage": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "budget/ref", "revision/no", "window/started-at", "window/ends-at", "prompts/used",
        "prompts/max", "prompts/remaining", "security/events", "groups"
      ],
      "properties": {
        "budget/ref": {"$ref": "#/$defs/ref"},
        "revision/no": {"type": "integer", "minimum": 1},
        "window/started-at": {"type": "string", "format": "date-time"},
        "window/ends-at": {"type": "string", "format": "date-time"},
        "prompts/used": {"type": "integer", "minimum": 0, "maximum": 4096},
        "prompts/max": {"type": "integer", "minimum": 1, "maximum": 4096},
        "prompts/remaining": {"type": "integer", "minimum": 0, "maximum": 4096},
        "security/events": {"type": "integer", "minimum": 0, "maximum": 4096},
        "groups": {
          "type": "array",
          "maxItems": 256,
          "items": {"$ref": "#/$defs/attention-group"}
        }
      }
    },
    "authority-decision": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "decision/ref", "kind", "outcome", "subject/ref",
        "artifact/refs", "artifact/digests", "effective/capability-ids",
        "effective/guard-types", "effective/restrictions", "recorded-at"
      ],
      "properties": {
        "decision/ref": {"$ref": "#/$defs/ref"},
        "kind": {"enum": ["derived-capability", "operator-guard", "policy-hook"]},
        "outcome": {"enum": ["admitted", "refused", "policy-absent"]},
        "anchor": {
          "enum": [
            "nse-decision-admission", "package-activation", "capability-use",
            "sensorium-actuation", "agent-effect-admission"
          ]
        },
        "hook/id": {"$ref": "#/$defs/ref"},
        "effective/decision-type": {
          "enum": ["defer", "select", "order", "narrow", "restrict", "raise-risk", "select-profile", "refused"]
        },
        "subject/ref": {"$ref": "#/$defs/ref"},
        "operator/binding-ref": {"$ref": "#/$defs/ref"},
        "artifact/refs": {
          "type": "array", "maxItems": 16, "uniqueItems": true,
          "items": {"$ref": "#/$defs/ref"}
        },
        "artifact/digests": {
          "type": "array", "maxItems": 16,
          "items": {"$ref": "#/$defs/digest"}
        },
        "effective/capability-ids": {
          "type": "array", "maxItems": 32, "uniqueItems": true,
          "items": {"$ref": "#/$defs/ref"}
        },
        "effective/guard-types": {
          "type": "array", "maxItems": 16, "uniqueItems": true,
          "items": {"enum": ["restrict/grant-set", "narrow/budget", "raise-risk/operational-class"]}
        },
        "effective/restrictions": {
          "type": "array", "maxItems": 64, "uniqueItems": true,
          "items": {"$ref": "#/$defs/ref"}
        },
        "decisive/restriction": {"$ref": "#/$defs/ref"},
        "refusal/code": {
          "enum": [
            "contract/unknown-schema", "hook/unknown", "hook/version-mismatch",
            "offer/digest-mismatch", "offer/invocation-mismatch", "decision/not-contained",
            "decision/ambiguous", "decision/unknown-outcome", "producer/budget-unavailable",
            "producer/required-failed", "producer/output-malformed", "producer/timeout",
            "producer/crash", "package/signing-authority-untrusted", "package/digest-mismatch",
            "package/conformance-failed", "package/incompatible", "activation/plan-stale",
            "activation/operator-binding-missing", "activation/signature-invalid",
            "activation/state-conflict", "activation/session-not-eligible",
            "guard/anchor-unknown", "guard/cap-exceeded", "identifier/invalid",
            "policy/revoked", "policy/expired", "extension/safe-mode"
          ]
        },
        "recorded-at": {"type": "string", "format": "date-time"}
      },
      "allOf": [
        {
          "if": {"properties": {"outcome": {"const": "refused"}}},
          "then": {"required": ["refusal/code"]},
          "else": {"not": {"required": ["refusal/code"]}}
        },
        {
          "if": {"properties": {"outcome": {"const": "policy-absent"}}},
          "then": {
            "properties": {
              "kind": {"const": "operator-guard"},
              "operator/binding-ref": false,
              "artifact/refs": {"maxItems": 0},
              "artifact/digests": {"maxItems": 0},
              "effective/capability-ids": {"maxItems": 0},
              "effective/guard-types": {"maxItems": 0},
              "effective/restrictions": {"maxItems": 0},
              "decisive/restriction": false
            }
          },
          "else": {"required": ["operator/binding-ref"]}
        },
        {
          "if": {"properties": {"kind": {"const": "derived-capability"}}},
          "then": {"properties": {"effective/guard-types": {"maxItems": 0}}},
          "else": {
            "if": {"properties": {"kind": {"const": "operator-guard"}}},
            "then": {"properties": {"effective/restrictions": {"maxItems": 0}}}
          }
        },
        {
          "if": {"properties": {"kind": {"const": "policy-hook"}}},
          "then": {
            "required": ["hook/id", "effective/decision-type"],
            "properties": {
              "anchor": false,
              "effective/capability-ids": {"maxItems": 0},
              "effective/guard-types": {"maxItems": 0}
            }
          },
          "else": {
            "properties": {
              "hook/id": false,
              "effective/decision-type": false
            }
          }
        }
      ]
    },
    "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"}
      }
    },
    "policy-status": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "kind", "artifact/ref", "revision/no", "artifact/digest",
        "operator/binding-ref", "expires-at"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "capability-derived.v1",
            "operator-guard-hook.v1",
            "operator-attention-budget.v1"
          ]
        },
        "artifact/ref": {"$ref": "#/$defs/ref"},
        "revision/no": {"type": "integer", "minimum": 1},
        "artifact/digest": {"$ref": "#/$defs/digest"},
        "operator/binding-ref": {"$ref": "#/$defs/ref"},
        "expires-at": {"type": "string", "format": "date-time"}
      }
    },
    "package-status": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "package/ref", "package/digest", "operational/class", "durable/generation",
        "durable/activation-ref", "active/producers", "inference-flows", "session/activation-ref",
        "session/expires-at",
        "conformance/report-ref", "latest/transition-state", "revocation/ref"
      ],
      "properties": {
        "package/ref": {"$ref": "#/$defs/ref"},
        "package/digest": {"$ref": "#/$defs/digest"},
        "operational/class": {"type": "string", "enum": ["research", "experimental", "test", "production", "critical"]},
        "durable/generation": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "null"}]},
        "durable/activation-ref": {"$ref": "#/$defs/optional-ref"},
        "active/producers": {"type": "array", "maxItems": 32, "items": {"$ref": "#/$defs/producer"}},
        "inference-flows": {"type": "array", "maxItems": 32, "items": {"$ref": "#/$defs/inference-flow-status"}},
        "session/activation-ref": {"$ref": "#/$defs/optional-ref"},
        "session/expires-at": {
          "oneOf": [
            {"type": "string", "format": "date-time"},
            {"type": "null"}
          ]
        },
        "conformance/report-ref": {"$ref": "#/$defs/optional-ref"},
        "latest/transition-state": {"oneOf": [{"type": "string", "enum": ["planned", "committed", "finalized", "failed"]}, {"type": "null"}]},
        "revocation/ref": {"$ref": "#/$defs/optional-ref"}
      }
    },
    "inference-flow-status": {
      "type": "object", "additionalProperties": false,
      "required": [
        "flow/ref", "flow/digest", "prompt-policy/ref", "prompt-policy/digest",
        "output-schema/ref", "output-schema/digest", "repair-profile/ref",
        "repair-profile/digest", "agent-policy/ref", "agent-policy/digest",
        "model-profile/refs", "runtime/refs", "max/passages"
      ],
      "properties": {
        "flow/ref": {"$ref": "#/$defs/ref"}, "flow/digest": {"$ref": "#/$defs/semantic-digest"},
        "prompt-policy/ref": {"$ref": "#/$defs/ref"}, "prompt-policy/digest": {"$ref": "#/$defs/semantic-digest"},
        "output-schema/ref": {"$ref": "#/$defs/ref"}, "output-schema/digest": {"$ref": "#/$defs/semantic-digest"},
        "repair-profile/ref": {"$ref": "#/$defs/ref"}, "repair-profile/digest": {"$ref": "#/$defs/semantic-digest"},
        "agent-policy/ref": {"$ref": "#/$defs/ref"}, "agent-policy/digest": {"$ref": "#/$defs/semantic-digest"},
        "model-profile/refs": {"$ref": "#/$defs/profile-refs"},
        "runtime/refs": {"$ref": "#/$defs/profile-refs"},
        "max/passages": {"type": "integer", "minimum": 1, "maximum": 256},
        "corpus-role/ref": {"$ref": "#/$defs/ref"}, "corpus-role/digest": {"$ref": "#/$defs/semantic-digest"},
        "corpus-overlay/ref": {"$ref": "#/$defs/ref"}, "corpus-overlay/digest": {"$ref": "#/$defs/semantic-digest"}
      },
      "dependentRequired": {
        "corpus-role/ref": ["corpus-role/digest"], "corpus-role/digest": ["corpus-role/ref"],
        "corpus-overlay/ref": ["corpus-overlay/digest"], "corpus-overlay/digest": ["corpus-overlay/ref"]
      }
    }
  },
  "x-dia-status": "accepted",
  "x-dia-basis": ["doc/project/40-proposals/085-operator-sovereign-extensibility-and-experiment-packages.md"]
}
