{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://finance.entelekron.org/schemas/operational-policy-bundle-registry.schema.json",
  "title": "TVKUSD operational policy bundle registry",
  "type": "object",
  "additionalProperties": false,
  "required": ["$schema", "schemaVersion", "controlPlaneId", "canonicalAssetId", "registryId", "status", "asOf", "activeBundle", "bundles", "trustedSignerReferences", "approvedSignatureAlgorithms", "integrity", "secrets", "authority", "notice"],
  "properties": {
    "$schema": {"const": "https://finance.entelekron.org/schemas/operational-policy-bundle-registry.schema.json"},
    "schemaVersion": {"type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"},
    "controlPlaneId": {"const": "tvk-group:entelekron-financial-infrastructure"},
    "canonicalAssetId": {"const": "tvk-group:tvkusd"},
    "registryId": {"type": "string", "minLength": 1},
    "status": {"const": "no-production-policy-bundle"},
    "asOf": {"type": "string", "format": "date-time"},
    "activeBundle": {"type": "null"},
    "bundles": {"type": "array", "maxItems": 0},
    "trustedSignerReferences": {"type": "array", "maxItems": 0},
    "approvedSignatureAlgorithms": {"type": "array", "maxItems": 0},
    "integrity": {
      "type": "object", "additionalProperties": false,
      "required": ["digestAlgorithm", "canonicalizationProfile", "detachedSignatureRequired", "minimumIndependentSignatures", "environmentScopeRequired", "effectiveAndExpiryTimesRequired", "previousBundleDigestRequiredAfterGenesis", "rollbackTargetMustBePreviouslyApproved", "unsignedOrExpiredBundleAccepted"],
      "properties": {
        "digestAlgorithm": {"const": "sha256"}, "canonicalizationProfile": {"const": "rfc8785-jcs"},
        "detachedSignatureRequired": {"const": true}, "minimumIndependentSignatures": {"type": "integer", "minimum": 2}, "environmentScopeRequired": {"const": true}, "effectiveAndExpiryTimesRequired": {"const": true}, "previousBundleDigestRequiredAfterGenesis": {"const": true}, "rollbackTargetMustBePreviouslyApproved": {"const": true}, "unsignedOrExpiredBundleAccepted": {"const": false}
      }
    },
    "secrets": {"$ref": "#/$defs/falseControls"},
    "authority": {"$ref": "#/$defs/falseControls"},
    "notice": {"type": "string", "minLength": 1}
  },
  "$defs": {"falseControls": {"type": "object", "minProperties": 1, "additionalProperties": {"const": false}}}
}
