{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:orbiplex:schema:operator-extension-loose-import:v1",
  "title": "Operator Extension Loose Import V1",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema", "schema/v", "root/id", "relative/path", "artifact/digest", "signature"],
  "properties": {
    "schema": {"const": "operator-extension-loose-import.v1"},
    "schema/v": {"const": 1},
    "root/id": {"type": "string", "pattern": "^[A-Za-z0-9._-]{1,128}$"},
    "relative/path": {"type": "string", "minLength": 1, "maxLength": 4096, "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]+$"},
    "artifact/digest": {"$ref": "#/$defs/digest"},
    "signature": {"$ref": "#/$defs/signature"}
  },
  "$defs": {
    "digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
    "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}$"}}}
  },
  "x-dia-status": "accepted",
  "x-dia-basis": ["doc/project/40-proposals/085-operator-sovereign-extensibility-and-experiment-packages.md"]
}
