diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 34ea05f3..e82b9578 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -67,6 +67,7 @@ jobs:
python3 -m http.server 8765 --directory public >"${RUNNER_TEMP}/identifier-server.log" 2>&1 &
server_pid="$!"
trap 'kill "${server_pid}"' EXIT
+ IDENTIFIER_BASE_URL=http://127.0.0.1:8765 npm run smoke:catalog
IDENTIFIER_BASE_URL=http://127.0.0.1:8765 npm run smoke:live
- name: Summarize catalog change
diff --git a/.github/workflows/deploy-cloudflare-workers.yml b/.github/workflows/deploy-cloudflare-workers.yml
index bd284362..1e837088 100644
--- a/.github/workflows/deploy-cloudflare-workers.yml
+++ b/.github/workflows/deploy-cloudflare-workers.yml
@@ -1,9 +1,25 @@
name: Deploy Cloudflare Workers
+run-name: Publish Registry Stack identifiers ${{ inputs.released_tag }} (${{ inputs.request_id }})
on:
- push:
- branches: [main]
workflow_dispatch:
+ inputs:
+ released_tag:
+ description: Exact released Registry Stack tag
+ required: true
+ type: string
+ source_sha:
+ description: Exact released Registry Stack source commit
+ required: true
+ type: string
+ catalog_sha256:
+ description: SHA-256 of the exact released identifier catalog
+ required: true
+ type: string
+ request_id:
+ description: Registry Stack release publication correlation ID
+ required: true
+ type: string
permissions:
contents: read
@@ -30,15 +46,40 @@ jobs:
- name: Read pinned Registry Stack source
id: source
+ env:
+ INPUT_CATALOG_SHA256: ${{ inputs.catalog_sha256 }}
+ INPUT_RELEASED_TAG: ${{ inputs.released_tag }}
+ INPUT_REQUEST_ID: ${{ inputs.request_id }}
+ INPUT_SOURCE_SHA: ${{ inputs.source_sha }}
shell: bash
run: |
node <<'NODE'
const { appendFileSync, readFileSync } = require('node:fs');
const source = JSON.parse(readFileSync('src/upstream/source.json', 'utf8'));
- if (!/^[0-9a-f]{40}$/.test(source.commit)) {
- throw new Error('src/upstream/source.json does not pin a full commit');
+ const commit = process.env.INPUT_SOURCE_SHA;
+ const catalog = process.env.INPUT_CATALOG_SHA256;
+ const tag = process.env.INPUT_RELEASED_TAG;
+ const request = process.env.INPUT_REQUEST_ID;
+ if (!/^[0-9a-f]{40}$/.test(commit)) {
+ throw new Error('identifier publication does not name a full source commit');
+ }
+ if (!/^[0-9a-f]{64}$/.test(catalog)) {
+ throw new Error('identifier publication does not name a catalog SHA-256');
+ }
+ if (!/^v0\.[0-9]+\.[0-9]+$/.test(tag)) {
+ throw new Error('released_tag must be a canonical v0.x.y tag');
+ }
+ if (!/^[A-Za-z0-9._-]{1,128}$/.test(request)) {
+ throw new Error('request_id contains unsupported characters');
+ }
+ if (source.commit !== commit || source.catalog_sha256 !== catalog) {
+ throw new Error(
+ 'release publication inputs do not match the reviewed publisher bundle',
+ );
}
- appendFileSync(process.env.GITHUB_OUTPUT, `commit=${source.commit}\n`);
+ appendFileSync(process.env.GITHUB_OUTPUT, `commit=${commit}\n`);
+ appendFileSync(process.env.GITHUB_OUTPUT, `catalog_sha256=${catalog}\n`);
+ appendFileSync(process.env.GITHUB_OUTPUT, `released_tag=${tag}\n`);
NODE
- name: Checkout pinned Registry Stack source
@@ -52,7 +93,9 @@ jobs:
- name: Require source provenance from Registry Stack main
env:
+ EXPECTED_CATALOG_SHA256: ${{ steps.source.outputs.catalog_sha256 }}
PINNED_SOURCE: ${{ steps.source.outputs.commit }}
+ RELEASED_TAG: ${{ steps.source.outputs.released_tag }}
shell: bash
run: |
set -euo pipefail
@@ -64,11 +107,26 @@ jobs:
exit 1
fi
- - name: Check pinned upstream catalog
- run: npm run check:upstream -- _upstream/registry-stack
+ git -C _upstream/registry-stack fetch origin \
+ "refs/tags/${RELEASED_TAG}:refs/tags/${RELEASED_TAG}"
+ if [[ "$(git -C _upstream/registry-stack cat-file -t "refs/tags/${RELEASED_TAG}")" != tag ]]; then
+ echo "Released Registry Stack tag must be annotated" >&2
+ exit 1
+ fi
+ test "$(git -C _upstream/registry-stack rev-parse "refs/tags/${RELEASED_TAG}^{}")" = \
+ "${PINNED_SOURCE}"
- - name: Check generated output
- run: npm test
+ actual_catalog_sha256="$(
+ git -C _upstream/registry-stack show \
+ "${PINNED_SOURCE}:products/identifiers/generated/catalog.v1.json" \
+ | sha256sum | awk '{print $1}'
+ )"
+ test "${actual_catalog_sha256}" = "${EXPECTED_CATALOG_SHA256}"
+
+ - name: Check exact source and generated output
+ run: |
+ npm run check:upstream -- _upstream/registry-stack
+ npm test
- name: Build static site
run: npm run build
@@ -82,5 +140,7 @@ jobs:
command: deploy
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
- - name: Smoke every catalog problem URI on the live host
- run: npm run smoke:problem-routes
+ - name: Smoke the exact catalog and compatibility routes on the live host
+ run: |
+ npm run smoke:catalog
+ npm run smoke:live
diff --git a/.github/workflows/smoke-live.yml b/.github/workflows/smoke-live.yml
index cc138a45..5c1c149b 100644
--- a/.github/workflows/smoke-live.yml
+++ b/.github/workflows/smoke-live.yml
@@ -27,5 +27,7 @@ jobs:
with:
node-version: "22.12.0"
- - name: Check representative live identifiers
- run: npm run smoke:live
+ - name: Check the published catalog and compatibility routes
+ run: |
+ npm run smoke:catalog
+ npm run smoke:live
diff --git a/README.md b/README.md
index c316a8f5..6757e4de 100644
--- a/README.md
+++ b/README.md
@@ -24,8 +24,10 @@ Deployment is configured for Cloudflare Workers Static Assets with:
Published identifiers are stable contracts.
- Do not repurpose an identifier after publication.
-- Publish only identifiers with `status: active` in the pinned source catalog.
-- Remove identifiers that leave the source catalog. Removed paths return `404`.
+- Publish identifiers in the pinned source catalog as `active`.
+- Preserve a previously published identifier that leaves the active source
+ catalog and mark its last reviewed record `deprecated`. Never reuse its URI
+ for another kind or meaning.
- Do not change an identifier's kind.
- Use lowercase product scopes in paths.
- Use `code` for programmatic branching in client code. Problem `type` URLs are
@@ -129,18 +131,26 @@ The Cloudflare account is configured with:
- DNS record: proxied `AAAA id -> 100::`
- Worker route: `id.registrystack.org/*` in the `registrystack.org` zone
-Deploy locally with:
+Build a local deployment candidate with:
```sh
npm run build
npx wrangler deploy
```
+Do not use that command to publish a Registry Stack release. Production
+publication is owned by the release workflow described below.
+
### GitHub Actions deployment
-The `.github/workflows/deploy-cloudflare-workers.yml` workflow deploys `public/`
-to Cloudflare Workers on pushes to `main` and on manual dispatch. Configure
-these repository secrets before enabling it:
+The `.github/workflows/deploy-cloudflare-workers.yml` workflow deploys the
+reviewed bundle committed to `main` only when Registry Stack release publication
+dispatches it with an exact annotated release tag, source commit, catalog
+SHA-256, and correlation ID. The committed `src/upstream/source.json` must match
+those inputs. The workflow verifies that bundle against the tagged source before
+it builds or deploys. It does not deploy on a publisher repository push, and it
+does not import unreviewed source during deployment. Configure these repository
+secrets before enabling it:
- `CLOUDFLARE_ACCOUNT_ID`
- `CLOUDFLARE_API_TOKEN` scoped to deploy the `registrystack-id` Worker and its
@@ -149,10 +159,22 @@ these repository secrets before enabling it:
The initial deployment, DNS record, and Worker route were created manually from
the Cloudflare dashboard.
-After each deployment, the workflow runs `npm run smoke:problem-routes`, which
-fetches every active problem identifier from the same vendored catalog against
-the live host and fails the deployment if any of them does not return HTTP
-200.
+After each deployment, the workflow fetches every active and deprecated
+identifier in the reviewed publisher catalogs plus every retained immutable
+artifact. It compares the live response with the generated bytes and expected
+media type, then checks representative compatibility routes.
+
+Registry Stack needs one fine-grained `IDENTIFIER_PUBLISHER_TOKEN` repository
+secret with Actions read/write access only to `registrystack/registrystack-id`.
+Its release workflow uses the token to dispatch this workflow and wait for the
+correlated run. The Cloudflare credentials remain only in this repository.
+
+To recover an interrupted publication, rerun the failed Registry Stack release
+workflow. An already-public exact release takes its read-only closeout path and
+dispatches the same tag, source commit, and catalog digest again. Alternatively,
+dispatch this workflow from `main` with all four recorded inputs. Never change
+the source commit or digest for a released tag; fix forward with a new release
+if immutable public bytes conflict.
The `ci.yml` workflow checks every pull request against the exact pinned
Registry Stack commit, rebuilds the site, runs a local availability smoke, and
@@ -171,9 +193,10 @@ The job does not approve or merge its pull request and grants no Cloudflare or
DNS authority. The synchronization branch is automation-owned; human changes
must go to Registry Stack source or a separate publisher branch.
-The scheduled `smoke-live.yml` workflow checks representative active problem,
-schema, and vocabulary identifiers, plus the absence of one removed namespace.
-Availability is monitored after publication and is not a Registry Stack
-source-build gate. The post-deploy `smoke:problem-routes` step in
-`deploy-cloudflare-workers.yml` is narrower and exhaustive rather than
-representative: it checks every active problem identifier, every time.
+Before tagging a Registry Stack release, merge a reviewed synchronization pull
+request whose pinned commit and catalog digest are the exact release source.
+The later release dispatch will fail closed if `main` contains another bundle.
+
+The scheduled `smoke-live.yml` workflow repeats the exact-catalog smoke plus
+representative compatibility checks. Availability is monitored after
+publication and is not a Registry Stack source-build gate.
diff --git a/package.json b/package.json
index bbb782e0..4d774cfd 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"check:upstream": "node scripts/check-upstream-artifacts.mjs",
"check:problem-routes": "node scripts/check-problem-routes.mjs",
"report:catalog": "node scripts/report-catalog-change.mjs",
+ "smoke:catalog": "node scripts/smoke-catalog.mjs",
"smoke:live": "node scripts/smoke-live.mjs",
"smoke:problem-routes": "node scripts/smoke-problem-routes.mjs",
"test": "node --test scripts/*.test.mjs && npm run check && npm run check:problem-routes"
diff --git a/public/_headers b/public/_headers
index 8d7cac5b..58c025ce 100644
--- a/public/_headers
+++ b/public/_headers
@@ -60,77 +60,42 @@
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=86400
-/.well-known/registrystack-identifiers
- Content-Type: application/json; charset=utf-8
- Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=300
-
-/artifacts/sha256/6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f.json
+/artifacts/sha256/*.json
Content-Type: application/schema+json; charset=utf-8
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=31536000, immutable
-/artifacts/sha256/f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e.json
- Content-Type: application/schema+json; charset=utf-8
+/artifacts/sha256/*.jsonld
+ Content-Type: application/ld+json; charset=utf-8
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=31536000, immutable
-/artifacts/sha256/76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d.json
- Content-Type: application/schema+json; charset=utf-8
+/artifacts/sha256/*.md
+ Content-Type: text/markdown; charset=utf-8
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=31536000, immutable
-/artifacts/sha256/e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d.json
- Content-Type: application/schema+json; charset=utf-8
+/.well-known/registrystack-identifiers
+ Content-Type: application/json; charset=utf-8
Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=31536000, immutable
+ Cache-Control: public, max-age=300
/schemas/registry-record/v1
Content-Type: application/schema+json; charset=utf-8
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=86400
-/artifacts/sha256/31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e.json
- Content-Type: application/schema+json; charset=utf-8
- Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=31536000, immutable
-
/schemas/registry-relay/audit-event/v2alpha1
Content-Type: application/schema+json; charset=utf-8
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=86400
-/artifacts/sha256/e2b2be3baabb1c5f147a4095eade0d85702d814ec93049b62208fdd7ab1265b8.json
- Content-Type: application/schema+json; charset=utf-8
- Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=31536000, immutable
-
-/artifacts/sha256/c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5.json
- Content-Type: application/schema+json; charset=utf-8
- Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=31536000, immutable
-
-/artifacts/sha256/9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b.json
- Content-Type: application/schema+json; charset=utf-8
- Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=31536000, immutable
-
/contexts/registry-record/v1
Content-Type: application/ld+json; charset=utf-8
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=86400
-/artifacts/sha256/9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71.jsonld
- Content-Type: application/ld+json; charset=utf-8
- Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=31536000, immutable
-
/profiles/registry-record/v1
Content-Type: text/markdown; charset=utf-8
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=86400
-
-/artifacts/sha256/f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe.md
- Content-Type: text/markdown; charset=utf-8
- Access-Control-Allow-Origin: *
- Cache-Control: public, max-age=31536000, immutable
diff --git a/public/artifacts/sha256/25eb7b86185ab1d3aa5919752790c2600b5610b484397836eab17b82924e9d01.json b/public/artifacts/sha256/25eb7b86185ab1d3aa5919752790c2600b5610b484397836eab17b82924e9d01.json
new file mode 100644
index 00000000..159a904c
--- /dev/null
+++ b/public/artifacts/sha256/25eb7b86185ab1d3aa5919752790c2600b5610b484397836eab17b82924e9d01.json
@@ -0,0 +1,84 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json",
+ "title": "Registry Stack identifier catalog v1",
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["version", "baseUrl", "entries"],
+ "properties": {
+ "version": { "const": 1 },
+ "baseUrl": { "const": "https://id.registrystack.org" },
+ "entries": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/entry" }
+ }
+ },
+ "$defs": {
+ "sha256": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{64}$"
+ },
+ "source": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["path", "sha256"],
+ "properties": {
+ "path": { "type": "string", "minLength": 1 },
+ "sha256": { "$ref": "#/$defs/sha256" }
+ }
+ },
+ "artifact": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["path", "sha256", "mediaType"],
+ "properties": {
+ "path": { "type": "string", "minLength": 1 },
+ "sha256": { "$ref": "#/$defs/sha256" },
+ "mediaType": { "type": "string", "minLength": 1 }
+ }
+ },
+ "problem": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["code", "httpStatuses"],
+ "properties": {
+ "code": { "type": "string", "minLength": 1 },
+ "httpStatuses": {
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "items": { "type": "integer", "minimum": 100, "maximum": 599 }
+ }
+ }
+ },
+ "entry": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["uri", "kind", "status", "compatibilityLine", "owner", "title", "description", "source"],
+ "properties": {
+ "uri": { "type": "string", "pattern": "^https://id\\.registrystack\\.org/" },
+ "kind": {
+ "enum": ["problem", "schema", "context", "namespace", "vocabulary", "vocabulary-term"]
+ },
+ "status": { "const": "active" },
+ "compatibilityLine": { "type": "string", "minLength": 1 },
+ "owner": { "type": "string", "minLength": 1 },
+ "title": { "type": "string", "minLength": 1 },
+ "description": { "type": "string", "minLength": 1 },
+ "source": { "$ref": "#/$defs/source" },
+ "artifact": { "$ref": "#/$defs/artifact" },
+ "problem": { "$ref": "#/$defs/problem" }
+ },
+ "allOf": [
+ {
+ "if": { "properties": { "kind": { "const": "problem" } }, "required": ["kind"] },
+ "then": { "required": ["problem"] }
+ },
+ {
+ "if": { "properties": { "kind": { "enum": ["schema", "context"] } }, "required": ["kind"] },
+ "then": { "required": ["artifact"] }
+ }
+ ]
+ }
+ }
+}
diff --git a/public/artifacts/sha256/27e592e90e643a7fb58045deb716678d3740be17bc60f9fdb109bb28cd9b7f95.json b/public/artifacts/sha256/27e592e90e643a7fb58045deb716678d3740be17bc60f9fdb109bb28cd9b7f95.json
new file mode 100644
index 00000000..0989ece6
--- /dev/null
+++ b/public/artifacts/sha256/27e592e90e643a7fb58045deb716678d3740be17bc60f9fdb109bb28cd9b7f95.json
@@ -0,0 +1,886 @@
+{
+ "$defs": {
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "EventDestinationDnsFamily": {
+ "enum": [
+ "dualStackStrict",
+ "ipv4Only"
+ ],
+ "type": "string"
+ },
+ "EventDestinationNetworkProfile": {
+ "enum": [
+ "productionHttps",
+ "loopbackDevelopmentHttp"
+ ],
+ "type": "string"
+ },
+ "OidcAlgorithm": {
+ "enum": [
+ "EdDSA",
+ "ES256",
+ "ES384",
+ "RS256",
+ "RS384"
+ ],
+ "type": "string"
+ },
+ "RawAuditConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "hashKeyRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hashKeyRef"
+ ],
+ "type": "object"
+ },
+ "RawAuthenticationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityClaims": {
+ "$ref": "#/$defs/RawAuthorityClaimsConfig"
+ },
+ "oidc": {
+ "$ref": "#/$defs/RawOidcVerifierConfig"
+ }
+ },
+ "required": [
+ "oidc",
+ "authorityClaims"
+ ],
+ "type": "object"
+ },
+ "RawAuthorityClaimsConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "principal": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "sub",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "purpose": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "sub",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "principal"
+ ],
+ "type": "object"
+ },
+ "RawCursorConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "maxAgeSeconds": {
+ "default": 300,
+ "description": "Defaults to the bounded cursor validity lifetime.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "secretRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "secretRef"
+ ],
+ "type": "object"
+ },
+ "RawDatabaseConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "migrationUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "pool": {
+ "$ref": "#/$defs/RawPoolBounds"
+ },
+ "roles": {
+ "$ref": "#/$defs/RawSqlRoles"
+ },
+ "runtimeUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "runtimeUrlRef",
+ "migrationUrlRef",
+ "pool",
+ "roles"
+ ],
+ "type": "object"
+ },
+ "RawDeploymentIdentity": {
+ "additionalProperties": false,
+ "properties": {
+ "databaseId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "databaseInitializationEnvironment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "environment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "instanceId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "databaseId",
+ "databaseInitializationEnvironment"
+ ],
+ "type": "object"
+ },
+ "RawEnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "RawEventDeliveryConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "payloadRetentionDays": {
+ "default": 7,
+ "description": "Defaults to the bounded retained payload lifetime for pending or dead-letter webhook work.",
+ "format": "uint8",
+ "maximum": 30,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawEventDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedPrivateCidrs": {
+ "description": "Explicitly allowed private network ranges in canonical CIDR notation.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification",
+ "description": "Highest permitted classification, including fields used only in event conditions."
+ },
+ "deliveryCeilings": {
+ "$ref": "#/$defs/RawEventDestinationDeliveryCeilings",
+ "description": "Per-destination limits that may tighten, but never increase, the compiled delivery limits."
+ },
+ "dnsFamily": {
+ "$ref": "#/$defs/EventDestinationDnsFamily",
+ "description": "Address families to validate when resolving the destination."
+ },
+ "hmacSha256KeyRef": {
+ "description": "Runtime secret reference for the receiver's shared HMAC-SHA-256 key.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "networkProfile": {
+ "$ref": "#/$defs/EventDestinationNetworkProfile",
+ "description": "HTTPS for production, or explicit loopback-only HTTP for local development."
+ },
+ "origin": {
+ "description": "Receiver origin without a path or query, such as `https://receiver.example.com`.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "path": {
+ "description": "Absolute request path on the configured origin, such as `/events`.",
+ "maxLength": 4096,
+ "minLength": 1,
+ "pattern": "^/[\\x20-\\x22\\x24\\x26-\\x3E\\x40-\\x5B\\x5D-\\x7E]*$",
+ "type": "string"
+ },
+ "tls": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEventDestinationTlsConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional private CA and client identity secret references for HTTPS."
+ }
+ },
+ "required": [
+ "origin",
+ "path",
+ "networkProfile",
+ "dnsFamily",
+ "allowedPrivateCidrs",
+ "hmacSha256KeyRef",
+ "classificationCeiling",
+ "deliveryCeilings"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationDeliveryCeilings": {
+ "additionalProperties": false,
+ "properties": {
+ "attemptTimeoutMilliseconds": {
+ "description": "Maximum time allowed for one attempt, in milliseconds.",
+ "format": "uint32",
+ "maximum": 5000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "maximumAttempts": {
+ "description": "Maximum total attempts in one delivery generation, including the first attempt.",
+ "format": "uint8",
+ "maximum": 5,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "attemptTimeoutMilliseconds",
+ "maximumAttempts"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationTlsConfig": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "properties": {
+ "caBundleRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "caBundleRef"
+ ]
+ },
+ {
+ "properties": {
+ "clientIdentityRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "clientIdentityRef"
+ ]
+ }
+ ],
+ "properties": {
+ "caBundleRef": {
+ "description": "PEM CA bundle secret reference, when the receiver uses a private certificate authority.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientIdentityRef": {
+ "description": "PEM client identity secret reference for mutual TLS.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawFileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "RawJwksCacheConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "cacheTtlSeconds": {
+ "default": 600,
+ "description": "Defaults to the bounded JWKS cache time-to-live.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxDocumentBytes": {
+ "default": 65536,
+ "description": "Defaults to the bounded maximum JWKS document size.",
+ "format": "uint64",
+ "maximum": 1048576,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "negativeCacheTtlSeconds": {
+ "default": 60,
+ "description": "Defaults to the bounded JWKS negative-cache time-to-live.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "outageToleranceSeconds": {
+ "default": 900,
+ "description": "Defaults to the bounded cached-key outage tolerance.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "refreshCooldownSeconds": {
+ "default": 30,
+ "description": "Defaults to the bounded JWKS refresh cooldown.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded JWKS fetch timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "type": "string"
+ },
+ "publicOrigin": {
+ "description": "Canonical HTTPS origin (loopback HTTP for local development) for QGIS\ndiscovery and pagination. Required when the registry exposes GIS collections.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^https?://[^/@?#\\s]+/?$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawMetricsListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "description": "Operator-private loopback or private numeric address and named port,\nfor example `127.0.0.1:9100`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawOidcJwksSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "discovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "documentRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "documentRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawOidcVerifierConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "accessTokenType": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "allowedAlgorithm": {
+ "$ref": "#/$defs/OidcAlgorithm"
+ },
+ "allowedClients": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "audience": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "deniedKids": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "issuer": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "jwksCache": {
+ "$ref": "#/$defs/RawJwksCacheConfig",
+ "default": {
+ "cacheTtlSeconds": 600,
+ "maxDocumentBytes": 65536,
+ "negativeCacheTtlSeconds": 60,
+ "outageToleranceSeconds": 900,
+ "refreshCooldownSeconds": 30,
+ "requestTimeoutMilliseconds": 5000
+ },
+ "description": "Optional JWKS fetch and cache tuning. Defaults to bounded cache behavior."
+ },
+ "jwksSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawOidcJwksSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "leewayMilliseconds": {
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxTokenLifetimeSeconds": {
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "scopeClaim": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "scopeSeparator": {
+ "maxLength": 1,
+ "minLength": 1,
+ "pattern": "^[^A-Za-z0-9\\x00-\\x1F\\x7F]$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "issuer",
+ "audience",
+ "allowedAlgorithm",
+ "accessTokenType",
+ "scopeClaim",
+ "scopeSeparator",
+ "maxTokenLifetimeSeconds",
+ "leewayMilliseconds"
+ ],
+ "type": "object"
+ },
+ "RawOperationalTimeouts": {
+ "additionalProperties": false,
+ "properties": {
+ "httpRequestMilliseconds": {
+ "default": 10000,
+ "description": "Defaults to the bounded per-request HTTP timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationLockMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded migration lock timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationStatementMilliseconds": {
+ "default": 60000,
+ "description": "Defaults to the bounded migration statement timeout.",
+ "format": "uint64",
+ "maximum": 3600000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recordLockMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded record lock timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "shutdownGraceMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded graceful-shutdown timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawPackageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "activeRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "activeSequence": {
+ "format": "uint64",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "compilerSourceRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "trustAnchorPath": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root",
+ "trustAnchorPath",
+ "compilerSourceRevision",
+ "activeRevision",
+ "activeSequence"
+ ],
+ "type": "object"
+ },
+ "RawPoolBounds": {
+ "additionalProperties": false,
+ "properties": {
+ "createTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-creation timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxSize": {
+ "format": "uint",
+ "maximum": 128,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recycleTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-recycle timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "waitTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool wait timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maxSize"
+ ],
+ "type": "object"
+ },
+ "RawSecretProvidersConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEnvironmentSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawFileSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawSqlRoles": {
+ "additionalProperties": false,
+ "properties": {
+ "migration": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ },
+ "runtime": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "migration",
+ "runtime"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/breg-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/RawAuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/RawAuthenticationConfig"
+ },
+ "cursor": {
+ "$ref": "#/$defs/RawCursorConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/RawDatabaseConfig"
+ },
+ "eventDelivery": {
+ "$ref": "#/$defs/RawEventDeliveryConfig",
+ "default": {
+ "payloadRetentionDays": 7
+ },
+ "description": "Optional event-delivery tuning. Defaults to the server's bounded retention policy."
+ },
+ "eventDestinations": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawEventDestinationConfig"
+ },
+ "maxProperties": 128,
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "identity": {
+ "$ref": "#/$defs/RawDeploymentIdentity"
+ },
+ "kind": {
+ "const": "BRegRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/RawListenerConfig"
+ },
+ "metricsListener": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawMetricsListenerConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Optional operator-private metrics listener. Absent by default, which\nserves no metrics surface at all."
+ },
+ "operationalTimeouts": {
+ "$ref": "#/$defs/RawOperationalTimeouts",
+ "default": {
+ "httpRequestMilliseconds": 10000,
+ "migrationLockMilliseconds": 30000,
+ "migrationStatementMilliseconds": 60000,
+ "recordLockMilliseconds": 5000,
+ "shutdownGraceMilliseconds": 30000
+ },
+ "description": "Optional operational request, shutdown, locking, and migration timeout tuning."
+ },
+ "package": {
+ "$ref": "#/$defs/RawPackageConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/RawSecretProvidersConfig"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "listener",
+ "identity",
+ "secretProviders",
+ "database",
+ "package",
+ "authentication",
+ "audit",
+ "cursor"
+ ],
+ "title": "Base Registry Engine runtime configuration",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json b/public/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json
new file mode 100644
index 00000000..341c931e
--- /dev/null
+++ b/public/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json
@@ -0,0 +1,4345 @@
+{
+ "$defs": {
+ "AccessPermissionSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EntityAccessPermissionSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ActionAccessPermissionSourceSchema"
+ }
+ ]
+ },
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionAccessPermissionSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "type": "string"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "results": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionTargetPermissionSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "action",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "outputs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "outputs",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi",
+ "writes"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "id",
+ "target",
+ "operation",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "equals": true,
+ "equalsInput": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ },
+ "input": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "input",
+ "field"
+ ],
+ "type": "object"
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "evidence": {
+ "items": {
+ "$ref": "#/$defs/ActionEvidenceSource"
+ },
+ "type": "array"
+ },
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActionHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ },
+ "requires": {
+ "description": "Acceptance-time checks over exact existing reference inputs, combined with AND.",
+ "items": {
+ "$ref": "#/$defs/ActionRequirementSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActorKindSource": {
+ "enum": [
+ "human",
+ "agent",
+ "service"
+ ],
+ "type": "string"
+ },
+ "ApplyTargetPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "AttachmentSlotSource": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "contentTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "required",
+ "maximumBytes",
+ "contentTypes",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "output": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "output"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceRequirementSource"
+ },
+ "type": "array"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestSelectorSource"
+ },
+ "description": "Exact governed selector-profile field map. Every profile field must be\npresent exactly once and no undeclared field is admitted.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "profile",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestGuardTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "fromField": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "entity",
+ "fromField"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPreconditionsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Governed Evidence acquisitions required immediately before application.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSource"
+ },
+ "type": "array"
+ },
+ "request": {
+ "description": "Predicates over the frozen request intake itself.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ },
+ "targets": {
+ "description": "Existing records read and revision-bound at proposal preparation.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestGuardTargetSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPredicateSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "currentDate": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestCurrentDatePredicateSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludePreviousReviewers": {
+ "default": false,
+ "description": "Refuse an actor who already decided another stage of this proposal version.",
+ "type": "boolean"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSelectorSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "request_field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "target_field",
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "target",
+ "field"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityAccessPermissionSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "allowDataExport": {
+ "default": false,
+ "type": "boolean"
+ },
+ "applyTargets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ApplyTargetPermissionSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupPermissionSource"
+ },
+ "type": "array"
+ },
+ "membershipBoundaries": {
+ "description": "Current active membership required for each stored reference key.",
+ "items": {
+ "$ref": "#/$defs/MembershipBoundarySource"
+ },
+ "type": "array"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "readPaths": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReadPathPermissionSource"
+ },
+ "type": "array"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "readableRequestFields": {
+ "description": "Readable change-request decision detail. Anonymous profiles never receive reason text.",
+ "items": {
+ "$ref": "#/$defs/RequestMetadataFieldSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requestPresence": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RequestPresencePermissionSource"
+ },
+ "type": "array"
+ },
+ "requestVisibility": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RequestVisibilitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "reviewStages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStagePermissionSource"
+ },
+ "type": "array"
+ },
+ "revisionAccess": {
+ "default": false,
+ "type": "boolean"
+ },
+ "rowBoundaries": {
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "spatialQueries": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialQueryPermissionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "submitterTargets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "writableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "entity",
+ "operations",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "attachments": {
+ "description": "Governed binary slots on change-request entities, projected under their exact IDs.",
+ "items": {
+ "$ref": "#/$defs/AttachmentSlotSource"
+ },
+ "type": "array"
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "EvidenceProviderSource": {
+ "additionalProperties": false,
+ "properties": {
+ "contracts": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "subjectResolution": {
+ "$ref": "#/$defs/EvidenceSubjectResolution"
+ }
+ },
+ "required": [
+ "id",
+ "contracts",
+ "subjectResolution"
+ ],
+ "type": "object"
+ },
+ "EvidenceSubjectResolution": {
+ "enum": [
+ "trusted-provider-exact-selector"
+ ],
+ "type": "string"
+ },
+ "EvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile"
+ ],
+ "type": "object"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "LookupPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "claimMapping": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "selector": {
+ "type": "string"
+ },
+ "valueOrigin": {
+ "$ref": "#/$defs/LookupValueOrigin"
+ }
+ },
+ "required": [
+ "selector",
+ "valueOrigin"
+ ],
+ "type": "object"
+ },
+ "LookupValueOrigin": {
+ "enum": [
+ "request",
+ "verified_claim"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionApplicationProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionCatalogSource": {
+ "additionalProperties": false,
+ "properties": {
+ "applicationProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionApplicationProfileSource"
+ },
+ "type": "array"
+ },
+ "baseUrl": {
+ "type": "string"
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "participantId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "publisher": {
+ "$ref": "#/$defs/ManifestProjectionPublisherSource"
+ },
+ "standards": {
+ "$ref": "#/$defs/ManifestProjectionStandardsSource",
+ "default": {}
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "title",
+ "publisher"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDataServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "conformsTo": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "endpointDescription": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpointUrl": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "servesDatasets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "endpointUrl",
+ "servesDatasets"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "applicableLegislation": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "classificationCeiling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Classification"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "owner": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "spatialCoverage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionDatasetStatus"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetStatus": {
+ "enum": [
+ "under_development",
+ "active",
+ "completed",
+ "deprecated",
+ "withdrawn"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionDistributionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessService": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "accessUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataset": {
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "downloadUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "format": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mediaType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "dataset"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionEntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "conceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "identifiers": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionIdentifierSource"
+ },
+ "type": "array"
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionFieldSource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipConceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipRole": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "unit": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionIdentifierSource": {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "kind"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublicServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublisherSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": "string"
+ },
+ "catalog": {
+ "$ref": "#/$defs/ManifestProjectionCatalogSource"
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification"
+ },
+ "dataServices": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDataServiceSource"
+ },
+ "type": "array"
+ },
+ "datasets": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDatasetSource"
+ },
+ "type": "array"
+ },
+ "distributions": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDistributionSource"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionEntitySource"
+ },
+ "type": "array"
+ },
+ "publicService": {
+ "$ref": "#/$defs/ManifestProjectionPublicServiceSource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "accessProfile",
+ "classificationCeiling",
+ "catalog",
+ "publicService",
+ "datasets",
+ "dataServices"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionStandardsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "dcat": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "jsonSchema": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shacl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ManifestProjectionTextSource": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ManifestProjectionVocabularyConceptSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "label": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "code"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionVocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularyConceptSource"
+ },
+ "type": "array"
+ },
+ "externalRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "schemeIri": {
+ "type": "string"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "schemeIri"
+ ],
+ "type": "object"
+ },
+ "MembershipBoundarySource": {
+ "additionalProperties": false,
+ "description": "A one-hop current membership requirement, combined with every other row boundary.\nThe root field and membership key must reference the same entity. The active\nfield is Boolean, and principalField matches the profile's verified principal.",
+ "properties": {
+ "activeField": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "membershipEntity": {
+ "type": "string"
+ },
+ "membershipKeyField": {
+ "type": "string"
+ },
+ "principalField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "membershipEntity",
+ "membershipKeyField",
+ "principalField",
+ "activeField"
+ ],
+ "type": "object"
+ },
+ "ModuleLockSource": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "PackageIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string"
+ },
+ "sequence": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sourceRevision": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "sequence",
+ "sourceRevision"
+ ],
+ "type": "object"
+ },
+ "ProjectAccessProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "actorKind": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActorKindSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "anonymous": {
+ "default": false,
+ "type": "boolean"
+ },
+ "default": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "permissions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/AccessPermissionSource"
+ },
+ "type": "array"
+ },
+ "principalClaim": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "requesterClients": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredPurposes": {
+ "default": [],
+ "description": "The verified token's purpose must match one listed value. Empty means no purpose restriction.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "All listed scopes must be present in the verified token.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "taskGrant": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TaskGrantSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ReadPathPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "path": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RegistryIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "canonicalBaseIri": {
+ "type": "string"
+ },
+ "defaultLanguage": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "defaultLanguage",
+ "canonicalBaseIri"
+ ],
+ "type": "object"
+ },
+ "RequestMetadataFieldSource": {
+ "description": "Fields of request decision metadata governed separately from stored record fields.",
+ "enum": [
+ "actor_reference",
+ "reason",
+ "review_state"
+ ],
+ "type": "string"
+ },
+ "RequestPresencePermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requestType": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "requestType",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "RequestVisibilitySource": {
+ "oneOf": [
+ {
+ "const": "owner",
+ "description": "Expose only requests created by the current authenticated principal.",
+ "type": "string"
+ }
+ ]
+ },
+ "ReviewStagePermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "stage": {
+ "type": "string"
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStageTargetPermissionSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "stage"
+ ],
+ "type": "object"
+ },
+ "ReviewStageTargetPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "RhaiScriptKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "SpatialBboxPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumLatitudeSpanDegrees": {
+ "type": "number"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ },
+ "SpatialQueryPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialBboxPermissionSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TaskGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "sourceIssuer": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceIssuer"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "VocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "values"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProjectAccessProfileSource"
+ },
+ "type": "array"
+ },
+ "actions": {
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "apiVersion": {
+ "type": "string"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "evidenceProviders": {
+ "items": {
+ "$ref": "#/$defs/EvidenceProviderSource"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "manifestProjection": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "modules": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ModuleLockSource"
+ },
+ "type": "array"
+ },
+ "package": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PackageIdentitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryIdentitySource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/VocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "registry"
+ ],
+ "title": "Base Registry Engine authored project",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json b/public/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json
new file mode 100644
index 00000000..71ff675d
--- /dev/null
+++ b/public/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json
@@ -0,0 +1,3133 @@
+{
+ "$defs": {
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "outputs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "outputs",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi",
+ "writes"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "id",
+ "target",
+ "operation",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "equals": true,
+ "equalsInput": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ },
+ "input": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "input",
+ "field"
+ ],
+ "type": "object"
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "evidence": {
+ "items": {
+ "$ref": "#/$defs/ActionEvidenceSource"
+ },
+ "type": "array"
+ },
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActionHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ },
+ "requires": {
+ "description": "Acceptance-time checks over exact existing reference inputs, combined with AND.",
+ "items": {
+ "$ref": "#/$defs/ActionRequirementSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "AttachmentSlotSource": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "contentTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "required",
+ "maximumBytes",
+ "contentTypes",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "output": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "output"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceRequirementSource"
+ },
+ "type": "array"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestSelectorSource"
+ },
+ "description": "Exact governed selector-profile field map. Every profile field must be\npresent exactly once and no undeclared field is admitted.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "profile",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestGuardTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "fromField": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "entity",
+ "fromField"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPreconditionsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Governed Evidence acquisitions required immediately before application.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSource"
+ },
+ "type": "array"
+ },
+ "request": {
+ "description": "Predicates over the frozen request intake itself.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ },
+ "targets": {
+ "description": "Existing records read and revision-bound at proposal preparation.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestGuardTargetSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPredicateSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "currentDate": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestCurrentDatePredicateSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludePreviousReviewers": {
+ "default": false,
+ "description": "Refuse an actor who already decided another stage of this proposal version.",
+ "type": "boolean"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSelectorSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "request_field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "target_field",
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "target",
+ "field"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityExtensionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Add mandatory requirements only when the entity has none; replacing them is refused."
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "attachments": {
+ "description": "Governed binary slots on change-request entities, projected under their exact IDs.",
+ "items": {
+ "$ref": "#/$defs/AttachmentSlotSource"
+ },
+ "type": "array"
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "EvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile"
+ ],
+ "type": "object"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RhaiScriptKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "actions": {
+ "description": "Named immediate actions introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "dependencies": {
+ "default": [],
+ "description": "Identifiers of modules that must be applied before this module.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "description": "Entities introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "extendEntities": {
+ "default": [],
+ "description": "Additive contributions to entities already declared by the project or another module.",
+ "items": {
+ "$ref": "#/$defs/EntityExtensionSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "Stable module identifier, referenced by the project's module lock.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Module version recorded alongside its content digest in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "title": "Base Registry Engine authored module",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json b/public/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json
new file mode 100644
index 00000000..6ce86555
--- /dev/null
+++ b/public/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json
@@ -0,0 +1,39 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/registry-relay/entity-record/v1.json",
+ "title": "EntityRecord v1",
+ "description": "Structural schema for the `credentialSubject` of an EntityRecord VC. The schema validates the envelope shape; the per-dataset field set is not statically known.",
+ "type": "object",
+ "required": ["dataset", "entity", "subjectId", "fields", "asOf"],
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Canonical entity URL. Optional duplicate of the JWT `sub`."
+ },
+ "dataset": {
+ "type": "string",
+ "minLength": 1
+ },
+ "entity": {
+ "type": "string",
+ "minLength": 1
+ },
+ "subjectId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "fields": {
+ "type": "object",
+ "description": "Projection of the entity record. Field names follow the per-dataset projection config."
+ },
+ "expanded": {
+ "type": "object",
+ "description": "Relationship expansions; present only when ?expand= was requested. Keyed by relationship name."
+ },
+ "asOf": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+}
diff --git a/public/artifacts/sha256/581cd380fa3c33ed81d56ef4d88a514a34ee1e7665128f3b657a7f1124e182fc.json b/public/artifacts/sha256/581cd380fa3c33ed81d56ef4d88a514a34ee1e7665128f3b657a7f1124e182fc.json
new file mode 100644
index 00000000..31425e4b
--- /dev/null
+++ b/public/artifacts/sha256/581cd380fa3c33ed81d56ef4d88a514a34ee1e7665128f3b657a7f1124e182fc.json
@@ -0,0 +1,2653 @@
+{
+ "$defs": {
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ChangeRequestPlannerKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityExtensionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Add mandatory requirements only when the entity has none; replacing them is refused."
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "actions": {
+ "description": "Named immediate actions introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "dependencies": {
+ "default": [],
+ "description": "Identifiers of modules that must be applied before this module.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "description": "Entities introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "extendEntities": {
+ "default": [],
+ "description": "Additive contributions to entities already declared by the project or another module.",
+ "items": {
+ "$ref": "#/$defs/EntityExtensionSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "Stable module identifier, referenced by the project's module lock.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Module version recorded alongside its content digest in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "title": "Base Registry Engine authored module",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json b/public/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json
new file mode 100644
index 00000000..dbc31cf8
--- /dev/null
+++ b/public/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json
@@ -0,0 +1,85 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/registry-relay/aggregate-result/v1.json",
+ "title": "AggregateResult v1",
+ "description": "Structural schema for the `credentialSubject` of an AggregateResult VC.",
+ "type": "object",
+ "required": [
+ "dataset",
+ "aggregateId",
+ "aggregateUrl",
+ "groupBy",
+ "indicators",
+ "rows",
+ "suppressedRows",
+ "minCellSize",
+ "computedAt"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Canonical aggregate URL. Optional duplicate of `aggregateUrl` carried as the JWT `sub`."
+ },
+ "dataset": {
+ "type": "string",
+ "minLength": 1
+ },
+ "aggregateId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "aggregateUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "groupBy": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "indicators": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "rows": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["group", "values"],
+ "additionalProperties": false,
+ "properties": {
+ "group": {
+ "type": "object",
+ "description": "Map of declared group-by field to scalar value; empty for a global aggregate."
+ },
+ "values": {
+ "type": "object",
+ "description": "Map of indicator id to scalar value; `null` indicates disclosure-control suppression of that indicator."
+ }
+ }
+ }
+ },
+ "suppressedRows": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "minCellSize": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "computedAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "asOf": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+}
diff --git a/public/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json b/public/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json
new file mode 100644
index 00000000..05a02a0e
--- /dev/null
+++ b/public/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json
@@ -0,0 +1,569 @@
+{
+ "$defs": {
+ "AuditConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "hashKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "path": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path",
+ "hashKeyRef"
+ ],
+ "type": "object"
+ },
+ "AuthenticationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "oidc": {
+ "$ref": "#/$defs/OidcConfig"
+ }
+ },
+ "required": [
+ "oidc"
+ ],
+ "type": "object"
+ },
+ "BregBinding": {
+ "additionalProperties": false,
+ "description": "Launcher-owned BReg connection material for one authored Casework source.",
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "clientAssertionAudience": {
+ "description": "Explicit OAuth client assertion audience; omission preserves endpoint audience.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientAssertionKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "clientIdRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "connectTimeoutMilliseconds": {
+ "default": 10000,
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "eventSource": {
+ "type": "string"
+ },
+ "eventType": {
+ "default": "casework-lifecycle-v1",
+ "type": "string"
+ },
+ "readerProfile": {
+ "type": "string"
+ },
+ "reconciliationIntervalMilliseconds": {
+ "default": 60000,
+ "format": "uint64",
+ "maximum": 3600000,
+ "minimum": 1000,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "default": 30000,
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "resource": {
+ "description": "Exact resource indicator required by the configured authorization server.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopes": {
+ "description": "Explicit scopes for this source reader's service credential.",
+ "items": {
+ "type": "string"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ },
+ "trustedRootCertificatesRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "webhookSecretRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "readerProfile",
+ "tokenEndpoint",
+ "clientIdRef",
+ "clientAssertionKeyRef",
+ "webhookSecretRef",
+ "eventSource"
+ ],
+ "type": "object"
+ },
+ "DatabaseConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "migrationUrlRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "runtimeUrlRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "testOnlyPlaintext": {
+ "default": false,
+ "type": "boolean"
+ },
+ "trustedRootCertificateRef": {
+ "default": null,
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "runtimeUrlRef",
+ "migrationUrlRef"
+ ],
+ "type": "object"
+ },
+ "EnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "FileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "HumanIdentityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "default": "registry_actor_kind",
+ "type": "string"
+ },
+ "value": {
+ "default": "human",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "default": "127.0.0.1:8100",
+ "type": "string"
+ },
+ "networkExposure": {
+ "$ref": "#/$defs/ListenerNetworkExposure"
+ },
+ "tlsTermination": {
+ "$ref": "#/$defs/TlsTermination"
+ }
+ },
+ "required": [
+ "tlsTermination"
+ ],
+ "type": "object"
+ },
+ "ListenerNetworkExposure": {
+ "description": "The operator-declared private network placement of the HTTP listener.",
+ "enum": [
+ "private-address",
+ "container-private"
+ ],
+ "type": "string"
+ },
+ "OidcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedClients": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "assertionIssuers": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "default": {},
+ "description": "Assertion authorities each client may exchange a subject token from,\nkeyed by client identifier. An empty map applies no rule; see\n[`registry_platform_oidc::TokenVerifierConfig::assertion_issuers`].",
+ "maxProperties": 64,
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "humanIdentity": {
+ "$ref": "#/$defs/HumanIdentityConfig"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "jwksSource": {
+ "$ref": "#/$defs/OidcJwksSource"
+ },
+ "jwksUri": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopeClaim": {
+ "default": "registry_scopes",
+ "type": "string"
+ }
+ },
+ "required": [
+ "issuer",
+ "audience"
+ ],
+ "type": "object"
+ },
+ "OidcJwksSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "discovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "documentRef": {
+ "pattern": "^(?:secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "documentRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RuntimePackageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "SecretProvidersConfig": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "properties": {
+ "file": {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ },
+ {
+ "properties": {
+ "environment": {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ }
+ },
+ "required": [
+ "environment"
+ ]
+ }
+ ],
+ "properties": {
+ "environment": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TaskAuthorityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "exchangeAudience": {
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "signingKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "statusClients": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Service client IDs mapped to their one protected resource audience.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "issuer",
+ "exchangeAudience",
+ "signingKeyRef",
+ "statusClients"
+ ],
+ "type": "object"
+ },
+ "TlsTermination": {
+ "description": "Declares the trusted transport boundary for the runtime's plaintext HTTP listener.\n\nProduction listeners require operator-controlled upstream TLS termination.\nDirect plaintext is limited to the explicit loopback-only development mode.",
+ "enum": [
+ "operator-controlled-upstream",
+ "development-loopback"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "authentication": {
+ "properties": {
+ "oidc": {
+ "properties": {
+ "jwksSource": {
+ "properties": {
+ "documentRef": {
+ "pattern": "^secret:env/"
+ }
+ },
+ "required": [
+ "documentRef"
+ ]
+ }
+ },
+ "required": [
+ "jwksSource"
+ ]
+ }
+ },
+ "required": [
+ "oidc"
+ ]
+ }
+ },
+ "required": [
+ "authentication"
+ ]
+ },
+ "then": {
+ "properties": {
+ "secretProviders": {
+ "properties": {
+ "environment": {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ }
+ },
+ "required": [
+ "environment"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "authentication": {
+ "properties": {
+ "oidc": {
+ "properties": {
+ "jwksSource": {
+ "properties": {
+ "documentRef": {
+ "pattern": "^secret:file/"
+ }
+ },
+ "required": [
+ "documentRef"
+ ]
+ }
+ },
+ "required": [
+ "jwksSource"
+ ]
+ }
+ },
+ "required": [
+ "oidc"
+ ]
+ }
+ },
+ "required": [
+ "authentication"
+ ]
+ },
+ "then": {
+ "properties": {
+ "secretProviders": {
+ "properties": {
+ "file": {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/casework-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/DatabaseConfig"
+ },
+ "kind": {
+ "const": "CaseworkRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/ListenerConfig"
+ },
+ "package": {
+ "$ref": "#/$defs/RuntimePackageConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/SecretProvidersConfig"
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/BregBinding"
+ },
+ "default": {},
+ "propertyNames": {
+ "minLength": 1
+ },
+ "type": "object"
+ },
+ "taskAuthority": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TaskAuthorityConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "package",
+ "listener",
+ "secretProviders",
+ "database",
+ "authentication",
+ "audit"
+ ],
+ "title": "Registry Casework runtime configuration",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/add5e2aeb746d5d58706180ef8d9173817dbb907de0305830ee4b3f03322120e.json b/public/artifacts/sha256/add5e2aeb746d5d58706180ef8d9173817dbb907de0305830ee4b3f03322120e.json
new file mode 100644
index 00000000..7a02dca8
--- /dev/null
+++ b/public/artifacts/sha256/add5e2aeb746d5d58706180ef8d9173817dbb907de0305830ee4b3f03322120e.json
@@ -0,0 +1,244 @@
+{
+ "$defs": {
+ "AuditRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "integrityKeyRef": {
+ "type": "string"
+ },
+ "sink": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sink",
+ "integrityKeyRef"
+ ],
+ "type": "object"
+ },
+ "AuthenticationRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "issuer": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/IssuerRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "CursorRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "integrityKeyRef": {
+ "type": "string"
+ },
+ "maximumAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "integrityKeyRef",
+ "maximumAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "IssuerRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "algorithms": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "discoveryUrl": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "tokenTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "discoveryUrl",
+ "audience",
+ "tokenTypes",
+ "algorithms"
+ ],
+ "type": "object"
+ },
+ "QuotaRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "burst": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "requestsPerMinute": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "requestsPerMinute",
+ "burst"
+ ],
+ "type": "object"
+ },
+ "RuntimeLimits": {
+ "additionalProperties": false,
+ "properties": {
+ "concurrentQueries": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "requestTimeoutMilliseconds",
+ "concurrentQueries"
+ ],
+ "type": "object"
+ },
+ "RuntimeSource": {
+ "additionalProperties": false,
+ "properties": {
+ "path": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
+ "ServerRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "ShutdownRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "gracePeriodMilliseconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "gracePeriodMilliseconds"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/registry-relay/authoring/runtime.v2alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "description": "Deployment-local bindings. No governed field is accepted here.",
+ "properties": {
+ "apiVersion": {
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditRuntime"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationRuntime"
+ },
+ "cursor": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/CursorRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "kind": {
+ "type": "string"
+ },
+ "limits": {
+ "$ref": "#/$defs/RuntimeLimits"
+ },
+ "packagePath": {
+ "type": "string"
+ },
+ "quotas": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/QuotaRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "server": {
+ "$ref": "#/$defs/ServerRuntime"
+ },
+ "shutdown": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ShutdownRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RuntimeSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "server",
+ "packagePath",
+ "sources",
+ "authentication",
+ "audit",
+ "limits"
+ ],
+ "title": "Relay V2 deployment binding",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json b/public/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json
new file mode 100644
index 00000000..609772ea
--- /dev/null
+++ b/public/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json
@@ -0,0 +1,1299 @@
+{
+ "$defs": {
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "EventDestinationDnsFamily": {
+ "enum": [
+ "dualStackStrict",
+ "ipv4Only"
+ ],
+ "type": "string"
+ },
+ "EventDestinationNetworkProfile": {
+ "enum": [
+ "productionHttps",
+ "loopbackDevelopmentHttp"
+ ],
+ "type": "string"
+ },
+ "EvidencePrivateKeyJwtConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "assertionAudience": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientId": {
+ "type": "string"
+ },
+ "privateKeyRef": {
+ "type": "string"
+ },
+ "resource": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopes": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenEndpoint",
+ "clientId",
+ "privateKeyRef"
+ ],
+ "type": "object"
+ },
+ "EvidenceProviderConfig": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "properties": {
+ "tokenRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenRef"
+ ]
+ },
+ {
+ "properties": {
+ "privateKeyJwt": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "privateKeyJwt"
+ ]
+ }
+ ],
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "privateKeyJwt": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EvidencePrivateKeyJwtConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "revokedKeyIds": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenRef": {
+ "description": "Compatibility path for a pre-issued token. Long-running providers\nshould configure `privateKeyJwt` so expiry triggers a fresh exchange.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "trustBindingId": {
+ "type": "string"
+ },
+ "trustedJwksRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "trustBindingId",
+ "trustedJwksRef"
+ ],
+ "type": "object"
+ },
+ "OidcAlgorithm": {
+ "enum": [
+ "EdDSA",
+ "ES256",
+ "ES384",
+ "RS256",
+ "RS384"
+ ],
+ "type": "string"
+ },
+ "RawAttachmentStorageConfig": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "database",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "accessKeyIdRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "bucket": {
+ "maxLength": 63,
+ "minLength": 3,
+ "type": "string"
+ },
+ "caBundleRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpoint": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "s3",
+ "type": "string"
+ },
+ "pathStyle": {
+ "default": true,
+ "type": "boolean"
+ },
+ "region": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "secretAccessKeyRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "sessionTokenRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "timeoutMilliseconds": {
+ "default": 10000,
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 100,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "endpoint",
+ "bucket",
+ "region",
+ "accessKeyIdRef",
+ "secretAccessKeyRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawAttachmentVerificationConfig": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "disabled",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "authorizationRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "endpoint": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "http",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "Non-secret identity of the external scanner and rules generation.",
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "timeoutMilliseconds": {
+ "default": 10000,
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 100,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "endpoint",
+ "authorizationRef",
+ "policyId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawAuditConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "hashKeyRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hashKeyRef"
+ ],
+ "type": "object"
+ },
+ "RawAuthenticationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityClaims": {
+ "$ref": "#/$defs/RawAuthorityClaimsConfig"
+ },
+ "oidc": {
+ "$ref": "#/$defs/RawOidcVerifierConfig"
+ }
+ },
+ "required": [
+ "oidc",
+ "authorityClaims"
+ ],
+ "type": "object"
+ },
+ "RawAuthorityClaimsConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "contextual": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawContextualClaimNames"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "principal": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "purpose": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "sub",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "trustedActors": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {},
+ "type": "object"
+ }
+ },
+ "required": [
+ "principal"
+ ],
+ "type": "object"
+ },
+ "RawContextualClaimNames": {
+ "additionalProperties": false,
+ "properties": {
+ "actorKind": {
+ "type": "string"
+ },
+ "approver": {
+ "type": "string"
+ },
+ "grantBounds": {
+ "type": "string"
+ },
+ "grantClient": {
+ "type": "string"
+ },
+ "grantExp": {
+ "type": "string"
+ },
+ "grantId": {
+ "type": "string"
+ },
+ "grantResource": {
+ "type": "string"
+ },
+ "grantSourceIssuer": {
+ "type": "string"
+ },
+ "purpose": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "actorKind",
+ "purpose",
+ "grantId",
+ "grantSourceIssuer",
+ "grantClient",
+ "grantResource",
+ "grantExp",
+ "grantBounds",
+ "approver"
+ ],
+ "type": "object"
+ },
+ "RawCursorConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "maxAgeSeconds": {
+ "default": 300,
+ "description": "Defaults to the bounded cursor validity lifetime.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "secretRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "secretRef"
+ ],
+ "type": "object"
+ },
+ "RawDatabaseConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "migrationUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "pool": {
+ "$ref": "#/$defs/RawPoolBounds"
+ },
+ "roles": {
+ "$ref": "#/$defs/RawSqlRoles"
+ },
+ "runtimeUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "runtimeUrlRef",
+ "migrationUrlRef",
+ "pool",
+ "roles"
+ ],
+ "type": "object"
+ },
+ "RawDeploymentIdentity": {
+ "additionalProperties": false,
+ "properties": {
+ "databaseId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "databaseInitializationEnvironment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "environment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "instanceId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "databaseId",
+ "databaseInitializationEnvironment"
+ ],
+ "type": "object"
+ },
+ "RawEnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "RawEventDeliveryConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "payloadRetentionDays": {
+ "default": 7,
+ "description": "Defaults to the bounded retained payload lifetime for pending or dead-letter webhook work.",
+ "format": "uint8",
+ "maximum": 30,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawEventDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedPrivateCidrs": {
+ "description": "Explicitly allowed private network ranges in canonical CIDR notation.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification",
+ "description": "Highest permitted classification, including fields used only in event conditions."
+ },
+ "deliveryCeilings": {
+ "$ref": "#/$defs/RawEventDestinationDeliveryCeilings",
+ "description": "Per-destination limits that may tighten, but never increase, the compiled delivery limits."
+ },
+ "dnsFamily": {
+ "$ref": "#/$defs/EventDestinationDnsFamily",
+ "description": "Address families to validate when resolving the destination."
+ },
+ "hmacSha256KeyRef": {
+ "description": "Runtime secret reference for the receiver's shared HMAC-SHA-256 key.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "networkProfile": {
+ "$ref": "#/$defs/EventDestinationNetworkProfile",
+ "description": "HTTPS for production, or explicit loopback-only HTTP for local development."
+ },
+ "origin": {
+ "description": "Receiver origin without a path or query, such as `https://receiver.example.com`.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "path": {
+ "description": "Absolute request path on the configured origin, such as `/events`.",
+ "maxLength": 4096,
+ "minLength": 1,
+ "pattern": "^/[\\x20-\\x22\\x24\\x26-\\x3E\\x40-\\x5B\\x5D-\\x7E]*$",
+ "type": "string"
+ },
+ "tls": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEventDestinationTlsConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional private CA and client identity secret references for HTTPS."
+ }
+ },
+ "required": [
+ "origin",
+ "path",
+ "networkProfile",
+ "dnsFamily",
+ "allowedPrivateCidrs",
+ "hmacSha256KeyRef",
+ "classificationCeiling",
+ "deliveryCeilings"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationDeliveryCeilings": {
+ "additionalProperties": false,
+ "properties": {
+ "attemptTimeoutMilliseconds": {
+ "description": "Maximum time allowed for one attempt, in milliseconds.",
+ "format": "uint32",
+ "maximum": 5000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "maximumAttempts": {
+ "description": "Maximum total attempts in one delivery generation, including the first attempt.",
+ "format": "uint8",
+ "maximum": 5,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "attemptTimeoutMilliseconds",
+ "maximumAttempts"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationTlsConfig": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "properties": {
+ "caBundleRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "caBundleRef"
+ ]
+ },
+ {
+ "properties": {
+ "clientIdentityRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "clientIdentityRef"
+ ]
+ }
+ ],
+ "properties": {
+ "caBundleRef": {
+ "description": "PEM CA bundle secret reference, when the receiver uses a private certificate authority.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientIdentityRef": {
+ "description": "PEM client identity secret reference for mutual TLS.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawFileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "RawJwksCacheConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "cacheTtlSeconds": {
+ "default": 600,
+ "description": "Defaults to the bounded JWKS cache time-to-live.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxDocumentBytes": {
+ "default": 65536,
+ "description": "Defaults to the bounded maximum JWKS document size.",
+ "format": "uint64",
+ "maximum": 1048576,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "negativeCacheTtlSeconds": {
+ "default": 60,
+ "description": "Defaults to the bounded JWKS negative-cache time-to-live.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "outageToleranceSeconds": {
+ "default": 900,
+ "description": "Defaults to the bounded cached-key outage tolerance.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "refreshCooldownSeconds": {
+ "default": 30,
+ "description": "Defaults to the bounded JWKS refresh cooldown.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded JWKS fetch timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "type": "string"
+ },
+ "publicOrigin": {
+ "description": "Canonical HTTPS origin (loopback HTTP for local development) for QGIS\ndiscovery and pagination. Required when the registry exposes GIS collections.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^https?://[^/@?#\\s]+/?$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawMetricsListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "description": "Operator-private loopback or private numeric address and named port,\nfor example `127.0.0.1:9100`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawOidcJwksSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "discovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "documentRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "documentRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawOidcVerifierConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "accessTokenType": {
+ "description": "The one admitted access-token `typ` semantics. Configuring the\nRFC 9068 access-token media type as `at+jwt` or\n`application/at+jwt` admits both spellings of that one type; any\nother value (for example `JWT`) admits only that token type, matched\ncase-insensitively.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "allowedAlgorithm": {
+ "$ref": "#/$defs/OidcAlgorithm"
+ },
+ "allowedClients": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "assertionIssuers": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "maxProperties": 128,
+ "propertyNames": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "audience": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "deniedKids": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "issuer": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "jwksCache": {
+ "$ref": "#/$defs/RawJwksCacheConfig",
+ "default": {
+ "cacheTtlSeconds": 600,
+ "maxDocumentBytes": 65536,
+ "negativeCacheTtlSeconds": 60,
+ "outageToleranceSeconds": 900,
+ "refreshCooldownSeconds": 30,
+ "requestTimeoutMilliseconds": 5000
+ },
+ "description": "Optional JWKS fetch and cache tuning. Defaults to bounded cache behavior."
+ },
+ "jwksSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawOidcJwksSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "leewayMilliseconds": {
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxTokenLifetimeSeconds": {
+ "format": "uint64",
+ "maximum": 7200,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "scopeClaim": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "scopeSeparator": {
+ "maxLength": 1,
+ "minLength": 1,
+ "pattern": "^[^A-Za-z0-9\\x00-\\x1F\\x7F]$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "issuer",
+ "audience",
+ "allowedAlgorithm",
+ "accessTokenType",
+ "scopeClaim",
+ "scopeSeparator",
+ "maxTokenLifetimeSeconds",
+ "leewayMilliseconds"
+ ],
+ "type": "object"
+ },
+ "RawOperationalTimeouts": {
+ "additionalProperties": false,
+ "properties": {
+ "httpRequestMilliseconds": {
+ "default": 10000,
+ "description": "Defaults to the bounded per-request HTTP timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationLockMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded migration lock timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationStatementMilliseconds": {
+ "default": 60000,
+ "description": "Defaults to the bounded migration statement timeout.",
+ "format": "uint64",
+ "maximum": 3600000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recordLockMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded record lock timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "shutdownGraceMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded graceful-shutdown timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawPackageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "activeRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "activeSequence": {
+ "format": "uint64",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "compilerSourceRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "trustAnchorPath": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root",
+ "trustAnchorPath",
+ "compilerSourceRevision",
+ "activeRevision",
+ "activeSequence"
+ ],
+ "type": "object"
+ },
+ "RawPoolBounds": {
+ "additionalProperties": false,
+ "properties": {
+ "createTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-creation timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxSize": {
+ "format": "uint",
+ "maximum": 128,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recycleTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-recycle timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "waitTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool wait timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maxSize"
+ ],
+ "type": "object"
+ },
+ "RawSecretProvidersConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEnvironmentSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawFileSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawSqlRoles": {
+ "additionalProperties": false,
+ "properties": {
+ "migration": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ },
+ "runtime": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "migration",
+ "runtime"
+ ],
+ "type": "object"
+ },
+ "TaskGrantStatusConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "caseworkResource": {
+ "type": "string"
+ },
+ "clientAssertionAudience": {
+ "type": "string"
+ },
+ "clientId": {
+ "type": "string"
+ },
+ "privateKeyRef": {
+ "type": "string"
+ },
+ "sourceIssuer": {
+ "type": "string"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceIssuer",
+ "baseUrl",
+ "tokenEndpoint",
+ "clientAssertionAudience",
+ "clientId",
+ "privateKeyRef",
+ "caseworkResource"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/breg-runtime/v1alpha1",
+ "type": "string"
+ },
+ "attachmentStorage": {
+ "$ref": "#/$defs/RawAttachmentStorageConfig",
+ "default": {
+ "kind": "database"
+ },
+ "description": "Defaults to PostgreSQL; S3 requires a bucket with versioning never enabled."
+ },
+ "attachmentVerification": {
+ "$ref": "#/$defs/RawAttachmentVerificationConfig",
+ "default": {
+ "kind": "disabled"
+ },
+ "description": "Optional external verdict hook. Disabled by default."
+ },
+ "audit": {
+ "$ref": "#/$defs/RawAuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/RawAuthenticationConfig"
+ },
+ "cursor": {
+ "$ref": "#/$defs/RawCursorConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/RawDatabaseConfig"
+ },
+ "eventDelivery": {
+ "$ref": "#/$defs/RawEventDeliveryConfig",
+ "default": {
+ "payloadRetentionDays": 7
+ },
+ "description": "Optional event-delivery tuning. Defaults to the server's bounded retention policy."
+ },
+ "eventDestinations": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawEventDestinationConfig"
+ },
+ "maxProperties": 128,
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "evidenceProviders": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EvidenceProviderConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "identity": {
+ "$ref": "#/$defs/RawDeploymentIdentity"
+ },
+ "kind": {
+ "const": "BRegRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/RawListenerConfig"
+ },
+ "metricsListener": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawMetricsListenerConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Optional operator-private metrics listener. Absent by default, which\nserves no metrics surface at all."
+ },
+ "operationalTimeouts": {
+ "$ref": "#/$defs/RawOperationalTimeouts",
+ "default": {
+ "httpRequestMilliseconds": 10000,
+ "migrationLockMilliseconds": 30000,
+ "migrationStatementMilliseconds": 60000,
+ "recordLockMilliseconds": 5000,
+ "shutdownGraceMilliseconds": 30000
+ },
+ "description": "Optional operational request, shutdown, locking, and migration timeout tuning."
+ },
+ "package": {
+ "$ref": "#/$defs/RawPackageConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/RawSecretProvidersConfig"
+ },
+ "taskGrantStatus": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/TaskGrantStatusConfig"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "listener",
+ "identity",
+ "secretProviders",
+ "database",
+ "package",
+ "authentication",
+ "audit",
+ "cursor"
+ ],
+ "title": "Base Registry Engine runtime configuration",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld b/public/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld
new file mode 100644
index 00000000..7fef87ab
--- /dev/null
+++ b/public/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld
@@ -0,0 +1,87 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "@protected": true,
+ "dg": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+
+ "VerifyResult": {
+ "@id": "dg:VerifyResult"
+ },
+ "AggregateResult": {
+ "@id": "dg:AggregateResult"
+ },
+ "EntityRecord": {
+ "@id": "dg:EntityRecord"
+ },
+
+ "dataset": {
+ "@id": "dg:dataset",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "entity": {
+ "@id": "dg:entity",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "subjectId": {
+ "@id": "dg:subjectId",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "predicate": {
+ "@id": "dg:predicate",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "value": {
+ "@id": "dg:value"
+ },
+ "asOf": {
+ "@id": "dg:asOf",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ },
+
+ "aggregateId": {
+ "@id": "dg:aggregateId",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "aggregateUrl": {
+ "@id": "dg:aggregateUrl",
+ "@type": "@id"
+ },
+ "groupBy": {
+ "@id": "dg:groupBy",
+ "@container": "@list"
+ },
+ "indicators": {
+ "@id": "dg:indicators",
+ "@container": "@list"
+ },
+ "rows": {
+ "@id": "dg:rows",
+ "@container": "@list"
+ },
+ "group": {
+ "@id": "dg:group"
+ },
+ "values": {
+ "@id": "dg:values"
+ },
+ "suppressedRows": {
+ "@id": "dg:suppressedRows",
+ "@type": "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "minCellSize": {
+ "@id": "dg:minCellSize",
+ "@type": "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "computedAt": {
+ "@id": "dg:computedAt",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ },
+
+ "fields": {
+ "@id": "dg:fields"
+ },
+ "expanded": {
+ "@id": "dg:expanded"
+ }
+ }
+}
diff --git a/public/artifacts/sha256/caed080f4eef3c39d8728cb56722d8d7f5cad6342d46750a0046eb2c5defc186.json b/public/artifacts/sha256/caed080f4eef3c39d8728cb56722d8d7f5cad6342d46750a0046eb2c5defc186.json
new file mode 100644
index 00000000..13260776
--- /dev/null
+++ b/public/artifacts/sha256/caed080f4eef3c39d8728cb56722d8d7f5cad6342d46750a0046eb2c5defc186.json
@@ -0,0 +1,1608 @@
+{
+ "$defs": {
+ "AccessProfileDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "disclosureProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "access",
+ "disclosureProfile"
+ ],
+ "type": "object"
+ },
+ "AccessRule": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "$ref": "#/$defs/ProtectedAccess"
+ }
+ ]
+ },
+ "AlignmentTarget": {
+ "additionalProperties": false,
+ "properties": {
+ "cfrTarget": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "version",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AuthorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ClaimRowBinding"
+ },
+ {
+ "$ref": "#/$defs/PrincipalRowBinding"
+ }
+ ]
+ },
+ "ClaimRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ClassificationCatalog": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "institutional": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "privacy": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "provenanceRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "privacy",
+ "institutional",
+ "handling",
+ "provenanceRef"
+ ],
+ "type": "object"
+ },
+ "ClassificationPartial": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Handling"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "institutional": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "privacy": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ReviewStatus"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "type": "object"
+ },
+ "CodelistColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "codelist"
+ ],
+ "type": "object"
+ },
+ "ColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ContractMetadata": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "title"
+ ],
+ "type": "object"
+ },
+ "DataType": {
+ "enum": [
+ "string",
+ "boolean",
+ "integer",
+ "date",
+ "date-time",
+ "year",
+ "year-month",
+ "controlled-code"
+ ],
+ "type": "string"
+ },
+ "DateInputType": {
+ "enum": [
+ "date",
+ "date-time"
+ ],
+ "type": "string"
+ },
+ "DatePrecision": {
+ "enum": [
+ "year",
+ "year-month"
+ ],
+ "type": "string"
+ },
+ "DisclosureProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "properties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "type": "object"
+ },
+ "FilterDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "property": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "name",
+ "property",
+ "type"
+ ],
+ "type": "object"
+ },
+ "Governance": {
+ "additionalProperties": false,
+ "properties": {
+ "auditOwner": {
+ "type": "string"
+ },
+ "controller": {
+ "type": "string"
+ },
+ "publisher": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "controller",
+ "publisher",
+ "auditOwner"
+ ],
+ "type": "object"
+ },
+ "Handling": {
+ "enum": [
+ "public",
+ "internal",
+ "confidential",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "Institution": {
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "identifier",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ListOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "filters": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FilterDefinition"
+ },
+ "type": "array"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles",
+ "allowUnfiltered",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "LookupOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requestBody": {
+ "$ref": "#/$defs/LookupRequestBody"
+ }
+ },
+ "required": [
+ "id",
+ "requestBody",
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "LookupRequestBody": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SelectorDefinition"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "maximumBytes",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "MetadataVisibility": {
+ "additionalProperties": false,
+ "properties": {
+ "classifications": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "processing": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "resources": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "service": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "statisticalDatasets": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Visibility"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "service",
+ "resources",
+ "semantics",
+ "classifications",
+ "processing"
+ ],
+ "type": "object"
+ },
+ "Operations": {
+ "additionalProperties": false,
+ "properties": {
+ "list": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ListOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupOperation"
+ },
+ "type": "array"
+ },
+ "read": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RecordOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "searches": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SearchOperation"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "Pagination": {
+ "additionalProperties": false,
+ "properties": {
+ "defaultPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultPageSize",
+ "maximumPageSize"
+ ],
+ "type": "object"
+ },
+ "PartialStringReveal": {
+ "enum": [
+ "prefix",
+ "suffix"
+ ],
+ "type": "string"
+ },
+ "PointPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "crs": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/PointSourceDefinition"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/PointPropertyType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "type",
+ "crs",
+ "source",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "PointPropertyType": {
+ "enum": [
+ "point"
+ ],
+ "type": "string"
+ },
+ "PointSourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "latitudeColumn": {
+ "type": "string"
+ },
+ "longitudeColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "longitudeColumn",
+ "latitudeColumn"
+ ],
+ "type": "object"
+ },
+ "PrincipalRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "principal": {
+ "type": "boolean"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "principal",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ProcessingDescription": {
+ "additionalProperties": false,
+ "properties": {
+ "dpvProfileRef": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "legalBasisRef": {
+ "type": "string"
+ },
+ "operationRefs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "purpose": {
+ "type": "string"
+ },
+ "recipientClass": {
+ "type": "string"
+ },
+ "safeguards": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "operationRefs",
+ "purpose",
+ "recipientClass",
+ "legalBasisRef",
+ "dpvProfileRef",
+ "safeguards"
+ ],
+ "type": "object"
+ },
+ "PropertyDefinition": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ScalarPropertyDefinitionSchema"
+ },
+ {
+ "$ref": "#/$defs/PointPropertyDefinitionSchema"
+ }
+ ]
+ },
+ "ProtectedAccess": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AuthorityRowBinding"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "purpose": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PurposeConstraint"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "scope": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scope"
+ ],
+ "type": "object"
+ },
+ "PurposeConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "allowed": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "claim": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "allowed"
+ ],
+ "type": "object"
+ },
+ "RecordContext": {
+ "additionalProperties": false,
+ "properties": {
+ "lifecycleState": {
+ "$ref": "#/$defs/CodelistColumnBinding"
+ },
+ "recordIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "recordedAt": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "revisionIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ }
+ },
+ "required": [
+ "recordIdentifier",
+ "revisionIdentifier",
+ "lifecycleState",
+ "recordedAt"
+ ],
+ "type": "object"
+ },
+ "RecordOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "RegistryDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "alignmentTargets": {
+ "items": {
+ "$ref": "#/$defs/AlignmentTarget"
+ },
+ "type": "array"
+ },
+ "authoritativeScope": {
+ "type": "string"
+ },
+ "authority": {
+ "$ref": "#/$defs/Institution"
+ },
+ "baseUri": {
+ "type": "string"
+ },
+ "identifierLifecyclePolicyRef": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "operator": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Institution"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registryIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "registryIdentifier",
+ "name",
+ "authority",
+ "authoritativeScope",
+ "baseUri",
+ "identifierLifecyclePolicyRef",
+ "alignmentTargets"
+ ],
+ "type": "object"
+ },
+ "ResourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "disclosureProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/DisclosureProfile"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operations": {
+ "$ref": "#/$defs/Operations"
+ },
+ "primaryGeometry": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "properties": {
+ "additionalProperties": {
+ "$ref": "#/$defs/PropertyDefinition"
+ },
+ "type": "object"
+ },
+ "recordContext": {
+ "$ref": "#/$defs/RecordContext"
+ },
+ "semanticClass": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "semanticClass",
+ "source",
+ "classificationDefaults",
+ "recordContext",
+ "properties",
+ "disclosureProfiles",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ResourceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "source": {
+ "type": "string"
+ },
+ "view": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "view"
+ ],
+ "type": "object"
+ },
+ "ReviewStatus": {
+ "enum": [
+ "reviewed",
+ "suggested",
+ "uncertain"
+ ],
+ "type": "string"
+ },
+ "ScalarPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "transform": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TransformDefinition"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "sourceColumn",
+ "type",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "SchemeVersion": {
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme",
+ "version"
+ ],
+ "type": "object"
+ },
+ "SdmxBindingDefinition": {
+ "additionalProperties": false,
+ "description": "Optional identity overrides for the fixed compiler-owned SDMX profile.",
+ "properties": {
+ "agencyId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "conceptSchemeId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataStructureId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataflowId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "SearchOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ },
+ "query": {
+ "$ref": "#/$defs/SearchQueryDefinition"
+ }
+ },
+ "required": [
+ "id",
+ "query",
+ "defaultAccessProfile",
+ "accessProfiles",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "SearchQueryDefinition": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "point-bbox",
+ "type": "string"
+ },
+ "maximumLatitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "SelectorDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "maximumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "type"
+ ],
+ "type": "object"
+ },
+ "SemanticAlignment": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "profileRef": {
+ "type": "string"
+ },
+ "relationRequired": {
+ "type": "boolean"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "profileRef",
+ "digest",
+ "relationRequired"
+ ],
+ "type": "object"
+ },
+ "Semantics": {
+ "additionalProperties": false,
+ "properties": {
+ "alignments": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SemanticAlignment"
+ },
+ "type": "array"
+ },
+ "localVocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "localVocabulary"
+ ],
+ "type": "object"
+ },
+ "SourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "expectedSchemaFingerprint": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "profile": {
+ "$ref": "#/$defs/SourceProfile"
+ }
+ },
+ "required": [
+ "kind",
+ "profile",
+ "expectedSchemaFingerprint"
+ ],
+ "type": "object"
+ },
+ "SourceProfile": {
+ "enum": [
+ "snapshot",
+ "live-read-only"
+ ],
+ "type": "string"
+ },
+ "StatisticalAttributeDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "required",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalBindings": {
+ "additionalProperties": false,
+ "properties": {
+ "sdmx": {
+ "$ref": "#/$defs/SdmxBindingDefinition"
+ }
+ },
+ "required": [
+ "sdmx"
+ ],
+ "type": "object"
+ },
+ "StatisticalDatasetDefinition": {
+ "additionalProperties": false,
+ "description": "One governed, pre-aggregated statistical dataset. The authored shape is\nindependent of the fixed SDMX exchange binding compiled from it.",
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "attributes": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalAttributeDefinition"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "bindings": {
+ "$ref": "#/$defs/StatisticalBindings"
+ },
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "dimensions": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalDimensionDefinition"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "measure": {
+ "$ref": "#/$defs/StatisticalMeasureDefinition"
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "publication": {
+ "$ref": "#/$defs/StatisticalPublication"
+ },
+ "query": {
+ "$ref": "#/$defs/StatisticalQueryProfile"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "time": {
+ "$ref": "#/$defs/StatisticalTimeDimensionDefinition"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "publication",
+ "source",
+ "classificationDefaults",
+ "dimensions",
+ "time",
+ "measure",
+ "access",
+ "query",
+ "bindings"
+ ],
+ "type": "object"
+ },
+ "StatisticalDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalMeasureDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalPublication": {
+ "additionalProperties": false,
+ "properties": {
+ "releaseAt": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "releaseAt"
+ ],
+ "type": "object"
+ },
+ "StatisticalQueryProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "maximumObservations": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumOffset": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "allowUnfiltered",
+ "maximumObservations",
+ "maximumOffset"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "granularity": {
+ "$ref": "#/$defs/StatisticalTimeGranularity"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "granularity",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeGranularity": {
+ "enum": [
+ "annual",
+ "quarterly",
+ "monthly",
+ "daily"
+ ],
+ "type": "string"
+ },
+ "StatisticalValueType": {
+ "enum": [
+ "code",
+ "string",
+ "integer",
+ "decimal",
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "TransformDefinition": {
+ "oneOf": [
+ {
+ "properties": {
+ "characters": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "partial-string",
+ "type": "string"
+ },
+ "reveal": {
+ "$ref": "#/$defs/PartialStringReveal"
+ }
+ },
+ "required": [
+ "kind",
+ "reveal",
+ "characters"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "date-precision",
+ "type": "string"
+ },
+ "precision": {
+ "$ref": "#/$defs/DatePrecision"
+ },
+ "sourceType": {
+ "$ref": "#/$defs/DateInputType"
+ }
+ },
+ "required": [
+ "kind",
+ "sourceType",
+ "precision"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Visibility": {
+ "enum": [
+ "public",
+ "operation-bound",
+ "operator-only"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "description": "Governed Relay-owned Registry input. Unknown fields are rejected at every\nnested structure rather than silently becoming deployment behavior.",
+ "properties": {
+ "apiVersion": {
+ "type": "string"
+ },
+ "classifications": {
+ "$ref": "#/$defs/ClassificationCatalog"
+ },
+ "governance": {
+ "$ref": "#/$defs/Governance"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "metadata": {
+ "$ref": "#/$defs/ContractMetadata"
+ },
+ "metadataVisibility": {
+ "$ref": "#/$defs/MetadataVisibility"
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryDefinition"
+ },
+ "resources": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ResourceDefinition"
+ },
+ "type": "array"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Semantics"
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SourceDefinition"
+ },
+ "type": "object"
+ },
+ "statisticalDatasets": {
+ "items": {
+ "$ref": "#/$defs/StatisticalDatasetDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "metadata",
+ "registry",
+ "governance",
+ "semantics",
+ "classifications",
+ "sources",
+ "metadataVisibility"
+ ],
+ "title": "Relay V2 governed Registry contract",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/d7a3d7b6dc9c1904fc067f0779c941ff247b26feb3a62f8d391b04f463c5a2ca.json b/public/artifacts/sha256/d7a3d7b6dc9c1904fc067f0779c941ff247b26feb3a62f8d391b04f463c5a2ca.json
new file mode 100644
index 00000000..3c8955b0
--- /dev/null
+++ b/public/artifacts/sha256/d7a3d7b6dc9c1904fc067f0779c941ff247b26feb3a62f8d391b04f463c5a2ca.json
@@ -0,0 +1,1637 @@
+{
+ "$defs": {
+ "AccessProfileDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "disclosureProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "access",
+ "disclosureProfile"
+ ],
+ "type": "object"
+ },
+ "AccessRule": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "$ref": "#/$defs/ProtectedAccess"
+ }
+ ]
+ },
+ "AlignmentTarget": {
+ "additionalProperties": false,
+ "properties": {
+ "cfrTarget": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "version",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AuthorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ClaimRowBinding"
+ },
+ {
+ "$ref": "#/$defs/PrincipalRowBinding"
+ }
+ ]
+ },
+ "ClaimRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ClassificationCatalog": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "institutional": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "privacy": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "provenanceRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "privacy",
+ "institutional",
+ "handling",
+ "provenanceRef"
+ ],
+ "type": "object"
+ },
+ "ClassificationPartial": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Handling"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "institutional": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "privacy": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ReviewStatus"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "type": "object"
+ },
+ "CodelistColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "codelist"
+ ],
+ "type": "object"
+ },
+ "ColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ContractMetadata": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "title"
+ ],
+ "type": "object"
+ },
+ "DataType": {
+ "enum": [
+ "string",
+ "boolean",
+ "integer",
+ "date",
+ "date-time",
+ "year",
+ "year-month",
+ "controlled-code"
+ ],
+ "type": "string"
+ },
+ "DateInputType": {
+ "enum": [
+ "date",
+ "date-time"
+ ],
+ "type": "string"
+ },
+ "DatePrecision": {
+ "enum": [
+ "year",
+ "year-month"
+ ],
+ "type": "string"
+ },
+ "DisclosureProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "properties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "type": "object"
+ },
+ "FilterDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "property": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "name",
+ "property",
+ "type"
+ ],
+ "type": "object"
+ },
+ "Governance": {
+ "additionalProperties": false,
+ "properties": {
+ "auditOwner": {
+ "type": "string"
+ },
+ "controller": {
+ "type": "string"
+ },
+ "publisher": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "controller",
+ "publisher",
+ "auditOwner"
+ ],
+ "type": "object"
+ },
+ "Handling": {
+ "enum": [
+ "public",
+ "internal",
+ "confidential",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "Institution": {
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "identifier",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ListOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "filters": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FilterDefinition"
+ },
+ "type": "array"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles",
+ "allowUnfiltered",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "LookupOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requestBody": {
+ "$ref": "#/$defs/LookupRequestBody"
+ }
+ },
+ "required": [
+ "id",
+ "requestBody",
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "LookupRequestBody": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SelectorDefinition"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "maximumBytes",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "MetadataVisibility": {
+ "additionalProperties": false,
+ "properties": {
+ "classifications": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "processing": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "resources": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "service": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "statisticalDatasets": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Visibility"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "service",
+ "resources",
+ "semantics",
+ "classifications",
+ "processing"
+ ],
+ "type": "object"
+ },
+ "Operations": {
+ "additionalProperties": false,
+ "properties": {
+ "list": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ListOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupOperation"
+ },
+ "type": "array"
+ },
+ "read": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RecordOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "searches": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SearchOperation"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "Pagination": {
+ "additionalProperties": false,
+ "properties": {
+ "defaultPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultPageSize",
+ "maximumPageSize"
+ ],
+ "type": "object"
+ },
+ "PartialStringReveal": {
+ "enum": [
+ "prefix",
+ "suffix"
+ ],
+ "type": "string"
+ },
+ "PointPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "crs": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/PointSourceDefinition"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/PointPropertyType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "type",
+ "crs",
+ "source",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "PointPropertyType": {
+ "enum": [
+ "point"
+ ],
+ "type": "string"
+ },
+ "PointSourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "latitudeColumn": {
+ "type": "string"
+ },
+ "longitudeColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "longitudeColumn",
+ "latitudeColumn"
+ ],
+ "type": "object"
+ },
+ "PrincipalRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "principal": {
+ "type": "boolean"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "principal",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ProcessingDescription": {
+ "additionalProperties": false,
+ "properties": {
+ "dpvProfileRef": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "legalBasisRef": {
+ "type": "string"
+ },
+ "operationRefs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "purpose": {
+ "type": "string"
+ },
+ "recipientClass": {
+ "type": "string"
+ },
+ "safeguards": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "operationRefs",
+ "purpose",
+ "recipientClass",
+ "legalBasisRef",
+ "dpvProfileRef",
+ "safeguards"
+ ],
+ "type": "object"
+ },
+ "PropertyDefinition": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ScalarPropertyDefinitionSchema"
+ },
+ {
+ "$ref": "#/$defs/PointPropertyDefinitionSchema"
+ }
+ ]
+ },
+ "ProtectedAccess": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AuthorityRowBinding"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "purpose": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PurposeConstraint"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "scope": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scope"
+ ],
+ "type": "object"
+ },
+ "Publication": {
+ "additionalProperties": false,
+ "description": "Public facts the Registry author explicitly elects to publish for\ndiscovery. All other description fields are derived from already governed\nRegistry identity, service, role, and operation contracts.",
+ "properties": {
+ "jurisdictions": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 128,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "jurisdictions"
+ ],
+ "type": "object"
+ },
+ "PurposeConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "allowed": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "claim": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "allowed"
+ ],
+ "type": "object"
+ },
+ "RecordContext": {
+ "additionalProperties": false,
+ "properties": {
+ "lifecycleState": {
+ "$ref": "#/$defs/CodelistColumnBinding"
+ },
+ "recordIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "recordedAt": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "revisionIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ }
+ },
+ "required": [
+ "recordIdentifier",
+ "revisionIdentifier",
+ "lifecycleState",
+ "recordedAt"
+ ],
+ "type": "object"
+ },
+ "RecordOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "RegistryDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "alignmentTargets": {
+ "items": {
+ "$ref": "#/$defs/AlignmentTarget"
+ },
+ "type": "array"
+ },
+ "authoritativeScope": {
+ "type": "string"
+ },
+ "authority": {
+ "$ref": "#/$defs/Institution"
+ },
+ "baseUri": {
+ "type": "string"
+ },
+ "identifierLifecyclePolicyRef": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "operator": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Institution"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registryIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "registryIdentifier",
+ "name",
+ "authority",
+ "authoritativeScope",
+ "baseUri",
+ "identifierLifecyclePolicyRef",
+ "alignmentTargets"
+ ],
+ "type": "object"
+ },
+ "ResourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "disclosureProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/DisclosureProfile"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operations": {
+ "$ref": "#/$defs/Operations"
+ },
+ "primaryGeometry": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "properties": {
+ "additionalProperties": {
+ "$ref": "#/$defs/PropertyDefinition"
+ },
+ "type": "object"
+ },
+ "recordContext": {
+ "$ref": "#/$defs/RecordContext"
+ },
+ "semanticClass": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "semanticClass",
+ "source",
+ "classificationDefaults",
+ "recordContext",
+ "properties",
+ "disclosureProfiles",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ResourceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "source": {
+ "type": "string"
+ },
+ "view": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "view"
+ ],
+ "type": "object"
+ },
+ "ReviewStatus": {
+ "enum": [
+ "reviewed",
+ "suggested",
+ "uncertain"
+ ],
+ "type": "string"
+ },
+ "ScalarPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "transform": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TransformDefinition"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "sourceColumn",
+ "type",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "SchemeVersion": {
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme",
+ "version"
+ ],
+ "type": "object"
+ },
+ "SdmxBindingDefinition": {
+ "additionalProperties": false,
+ "description": "Optional identity overrides for the fixed compiler-owned SDMX profile.",
+ "properties": {
+ "agencyId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "conceptSchemeId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataStructureId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataflowId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "SearchOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ },
+ "query": {
+ "$ref": "#/$defs/SearchQueryDefinition"
+ }
+ },
+ "required": [
+ "id",
+ "query",
+ "defaultAccessProfile",
+ "accessProfiles",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "SearchQueryDefinition": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "point-bbox",
+ "type": "string"
+ },
+ "maximumLatitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "SelectorDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "maximumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "type"
+ ],
+ "type": "object"
+ },
+ "SemanticAlignment": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "profileRef": {
+ "type": "string"
+ },
+ "relationRequired": {
+ "type": "boolean"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "profileRef",
+ "digest",
+ "relationRequired"
+ ],
+ "type": "object"
+ },
+ "Semantics": {
+ "additionalProperties": false,
+ "properties": {
+ "alignments": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SemanticAlignment"
+ },
+ "type": "array"
+ },
+ "localVocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "localVocabulary"
+ ],
+ "type": "object"
+ },
+ "SourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "expectedSchemaFingerprint": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "profile": {
+ "$ref": "#/$defs/SourceProfile"
+ }
+ },
+ "required": [
+ "kind",
+ "profile",
+ "expectedSchemaFingerprint"
+ ],
+ "type": "object"
+ },
+ "SourceProfile": {
+ "enum": [
+ "snapshot",
+ "live-read-only"
+ ],
+ "type": "string"
+ },
+ "StatisticalAttributeDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "required",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalBindings": {
+ "additionalProperties": false,
+ "properties": {
+ "sdmx": {
+ "$ref": "#/$defs/SdmxBindingDefinition"
+ }
+ },
+ "required": [
+ "sdmx"
+ ],
+ "type": "object"
+ },
+ "StatisticalDatasetDefinition": {
+ "additionalProperties": false,
+ "description": "One governed, pre-aggregated statistical dataset. The authored shape is\nindependent of the fixed SDMX exchange binding compiled from it.",
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "attributes": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalAttributeDefinition"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "bindings": {
+ "$ref": "#/$defs/StatisticalBindings"
+ },
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "dimensions": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalDimensionDefinition"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "measure": {
+ "$ref": "#/$defs/StatisticalMeasureDefinition"
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "publication": {
+ "$ref": "#/$defs/StatisticalPublication"
+ },
+ "query": {
+ "$ref": "#/$defs/StatisticalQueryProfile"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "time": {
+ "$ref": "#/$defs/StatisticalTimeDimensionDefinition"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "publication",
+ "source",
+ "classificationDefaults",
+ "dimensions",
+ "time",
+ "measure",
+ "access",
+ "query",
+ "bindings"
+ ],
+ "type": "object"
+ },
+ "StatisticalDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalMeasureDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalPublication": {
+ "additionalProperties": false,
+ "properties": {
+ "releaseAt": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "releaseAt"
+ ],
+ "type": "object"
+ },
+ "StatisticalQueryProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "maximumObservations": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumOffset": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "allowUnfiltered",
+ "maximumObservations",
+ "maximumOffset"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "granularity": {
+ "$ref": "#/$defs/StatisticalTimeGranularity"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "granularity",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeGranularity": {
+ "enum": [
+ "annual",
+ "quarterly",
+ "monthly",
+ "daily"
+ ],
+ "type": "string"
+ },
+ "StatisticalValueType": {
+ "enum": [
+ "code",
+ "string",
+ "integer",
+ "decimal",
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "TransformDefinition": {
+ "oneOf": [
+ {
+ "properties": {
+ "characters": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "partial-string",
+ "type": "string"
+ },
+ "reveal": {
+ "$ref": "#/$defs/PartialStringReveal"
+ }
+ },
+ "required": [
+ "kind",
+ "reveal",
+ "characters"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "date-precision",
+ "type": "string"
+ },
+ "precision": {
+ "$ref": "#/$defs/DatePrecision"
+ },
+ "sourceType": {
+ "$ref": "#/$defs/DateInputType"
+ }
+ },
+ "required": [
+ "kind",
+ "sourceType",
+ "precision"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Visibility": {
+ "enum": [
+ "public",
+ "operation-bound",
+ "operator-only"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "description": "Governed Relay-owned Registry input. Unknown fields are rejected at every\nnested structure rather than silently becoming deployment behavior.",
+ "properties": {
+ "apiVersion": {
+ "type": "string"
+ },
+ "classifications": {
+ "$ref": "#/$defs/ClassificationCatalog"
+ },
+ "governance": {
+ "$ref": "#/$defs/Governance"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "metadata": {
+ "$ref": "#/$defs/ContractMetadata"
+ },
+ "metadataVisibility": {
+ "$ref": "#/$defs/MetadataVisibility"
+ },
+ "publication": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Publication"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryDefinition"
+ },
+ "resources": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ResourceDefinition"
+ },
+ "type": "array"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Semantics"
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SourceDefinition"
+ },
+ "type": "object"
+ },
+ "statisticalDatasets": {
+ "items": {
+ "$ref": "#/$defs/StatisticalDatasetDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "metadata",
+ "registry",
+ "governance",
+ "semantics",
+ "classifications",
+ "sources",
+ "metadataVisibility"
+ ],
+ "title": "Relay V2 governed Registry contract",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/fbdcd49bfc04974e387dad5fbdbc450b7e12dca8e7b8168c7f227fb352bffb70.json b/public/artifacts/sha256/fbdcd49bfc04974e387dad5fbdbc450b7e12dca8e7b8168c7f227fb352bffb70.json
new file mode 100644
index 00000000..f6f74116
--- /dev/null
+++ b/public/artifacts/sha256/fbdcd49bfc04974e387dad5fbdbc450b7e12dca8e7b8168c7f227fb352bffb70.json
@@ -0,0 +1,3722 @@
+{
+ "$defs": {
+ "AccessGrantSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EntityAccessGrantSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ActionAccessGrantSourceSchema"
+ }
+ ]
+ },
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionAccessGrantSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "type": "string"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "results": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionTargetGrantSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "action",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ApplyTargetGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ChangeRequestPlannerKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityAccessGrantSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "allowDataExport": {
+ "default": false,
+ "type": "boolean"
+ },
+ "applyTargets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ApplyTargetGrantSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupGrantSource"
+ },
+ "type": "array"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "readPaths": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReadPathGrantSource"
+ },
+ "type": "array"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requestPresence": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RequestPresenceGrantSource"
+ },
+ "type": "array"
+ },
+ "requestVisibility": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RequestVisibilitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "reviewStages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStageGrantSource"
+ },
+ "type": "array"
+ },
+ "revisionAccess": {
+ "default": false,
+ "type": "boolean"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "spatialQueries": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialQueryGrantSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "writableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "entity",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "LookupGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "claimMapping": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "selector": {
+ "type": "string"
+ },
+ "valueOrigin": {
+ "$ref": "#/$defs/LookupValueOrigin"
+ }
+ },
+ "required": [
+ "selector",
+ "valueOrigin"
+ ],
+ "type": "object"
+ },
+ "LookupValueOrigin": {
+ "enum": [
+ "request",
+ "verified_claim"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionApplicationProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionCatalogSource": {
+ "additionalProperties": false,
+ "properties": {
+ "applicationProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionApplicationProfileSource"
+ },
+ "type": "array"
+ },
+ "baseUrl": {
+ "type": "string"
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "participantId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "publisher": {
+ "$ref": "#/$defs/ManifestProjectionPublisherSource"
+ },
+ "standards": {
+ "$ref": "#/$defs/ManifestProjectionStandardsSource",
+ "default": {}
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "title",
+ "publisher"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDataServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "conformsTo": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "endpointDescription": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpointUrl": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "servesDatasets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "endpointUrl",
+ "servesDatasets"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "applicableLegislation": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "classificationCeiling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Classification"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "owner": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "spatialCoverage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionDatasetStatus"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetStatus": {
+ "enum": [
+ "under_development",
+ "active",
+ "completed",
+ "deprecated",
+ "withdrawn"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionDistributionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessService": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "accessUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataset": {
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "downloadUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "format": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mediaType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "dataset"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionEntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "conceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "identifiers": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionIdentifierSource"
+ },
+ "type": "array"
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionFieldSource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipConceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipRole": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "unit": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionIdentifierSource": {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "kind"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublicServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublisherSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": "string"
+ },
+ "catalog": {
+ "$ref": "#/$defs/ManifestProjectionCatalogSource"
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification"
+ },
+ "dataServices": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDataServiceSource"
+ },
+ "type": "array"
+ },
+ "datasets": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDatasetSource"
+ },
+ "type": "array"
+ },
+ "distributions": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDistributionSource"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionEntitySource"
+ },
+ "type": "array"
+ },
+ "publicService": {
+ "$ref": "#/$defs/ManifestProjectionPublicServiceSource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "accessProfile",
+ "classificationCeiling",
+ "catalog",
+ "publicService",
+ "datasets",
+ "dataServices"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionStandardsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "dcat": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "jsonSchema": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shacl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ManifestProjectionTextSource": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ManifestProjectionVocabularyConceptSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "label": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "code"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionVocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularyConceptSource"
+ },
+ "type": "array"
+ },
+ "externalRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "schemeIri": {
+ "type": "string"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "schemeIri"
+ ],
+ "type": "object"
+ },
+ "ModuleLockSource": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "PackageIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string"
+ },
+ "sequence": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sourceRevision": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "sequence",
+ "sourceRevision"
+ ],
+ "type": "object"
+ },
+ "ProjectAccessProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "anonymous": {
+ "default": false,
+ "type": "boolean"
+ },
+ "default": {
+ "default": false,
+ "type": "boolean"
+ },
+ "grants": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/AccessGrantSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "principalClaim": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "requiredPurposes": {
+ "default": [],
+ "description": "The verified token's purpose must match one listed value. Empty means no purpose restriction.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "All listed scopes must be present in the verified token.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ReadPathGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "path": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RegistryIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "canonicalBaseIri": {
+ "type": "string"
+ },
+ "defaultLanguage": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "defaultLanguage",
+ "canonicalBaseIri"
+ ],
+ "type": "object"
+ },
+ "RequestPresenceGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requestType": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "requestType"
+ ],
+ "type": "object"
+ },
+ "RequestVisibilitySource": {
+ "oneOf": [
+ {
+ "const": "owner",
+ "description": "Expose only requests created by the current authenticated principal.",
+ "type": "string"
+ }
+ ]
+ },
+ "ReviewStageGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "stage": {
+ "type": "string"
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStageTargetGrantSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "stage"
+ ],
+ "type": "object"
+ },
+ "ReviewStageTargetGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "SpatialBboxGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumLatitudeSpanDegrees": {
+ "type": "number"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ },
+ "SpatialQueryGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialBboxGrantSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "VocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "values"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProjectAccessProfileSource"
+ },
+ "type": "array"
+ },
+ "actions": {
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "apiVersion": {
+ "type": "string"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "manifestProjection": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "modules": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ModuleLockSource"
+ },
+ "type": "array"
+ },
+ "package": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PackageIdentitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryIdentitySource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/VocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "registry"
+ ],
+ "title": "Base Registry Engine authored project",
+ "type": "object"
+}
diff --git a/public/contexts/index.html b/public/contexts/index.html
index b41f68f3..5f330110 100644
--- a/public/contexts/index.html
+++ b/public/contexts/index.html
@@ -39,11 +39,12 @@
Contexts
This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
- 1 published identifiers
+ 2 published identifiers
diff --git a/public/contexts/index.json b/public/contexts/index.json
index 19225dac..ca17c922 100644
--- a/public/contexts/index.json
+++ b/public/contexts/index.json
@@ -11,7 +11,7 @@
"source": "src/artifacts/sha256/9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71.jsonld",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/profile/registry-record-v1.md",
"sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
},
@@ -32,6 +32,47 @@
"scope": "identifier metadata",
"statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
}
+ },
+ {
+ "uri": "https://id.registrystack.org/contexts/registry-relay/provenance/v1.jsonld",
+ "title": "Registry Relay provenance v1 context",
+ "description": "JSON-LD context for Registry Relay provenance credential subjects.",
+ "kind": "context",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/contexts.json",
+ "sha256": "c3437558da424e44d0fd8feb954b28b9640a3db3aa5001311506eb03c51c8433"
+ },
+ "source": "src/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld",
+ "artifact_sha256": "c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld",
+ "id": "https://id.registrystack.org/contexts/registry-relay/provenance/v1.jsonld",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
}
]
}
diff --git a/public/contexts/registry-relay/provenance/v1.jsonld b/public/contexts/registry-relay/provenance/v1.jsonld
new file mode 100644
index 00000000..7fef87ab
--- /dev/null
+++ b/public/contexts/registry-relay/provenance/v1.jsonld
@@ -0,0 +1,87 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "@protected": true,
+ "dg": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+
+ "VerifyResult": {
+ "@id": "dg:VerifyResult"
+ },
+ "AggregateResult": {
+ "@id": "dg:AggregateResult"
+ },
+ "EntityRecord": {
+ "@id": "dg:EntityRecord"
+ },
+
+ "dataset": {
+ "@id": "dg:dataset",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "entity": {
+ "@id": "dg:entity",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "subjectId": {
+ "@id": "dg:subjectId",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "predicate": {
+ "@id": "dg:predicate",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "value": {
+ "@id": "dg:value"
+ },
+ "asOf": {
+ "@id": "dg:asOf",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ },
+
+ "aggregateId": {
+ "@id": "dg:aggregateId",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "aggregateUrl": {
+ "@id": "dg:aggregateUrl",
+ "@type": "@id"
+ },
+ "groupBy": {
+ "@id": "dg:groupBy",
+ "@container": "@list"
+ },
+ "indicators": {
+ "@id": "dg:indicators",
+ "@container": "@list"
+ },
+ "rows": {
+ "@id": "dg:rows",
+ "@container": "@list"
+ },
+ "group": {
+ "@id": "dg:group"
+ },
+ "values": {
+ "@id": "dg:values"
+ },
+ "suppressedRows": {
+ "@id": "dg:suppressedRows",
+ "@type": "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "minCellSize": {
+ "@id": "dg:minCellSize",
+ "@type": "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "computedAt": {
+ "@id": "dg:computedAt",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ },
+
+ "fields": {
+ "@id": "dg:fields"
+ },
+ "expanded": {
+ "@id": "dg:expanded"
+ }
+ }
+}
diff --git a/public/contexts/registry-relay/provenance/v1/index.html b/public/contexts/registry-relay/provenance/v1/index.html
new file mode 100644
index 00000000..fe6ed452
--- /dev/null
+++ b/public/contexts/registry-relay/provenance/v1/index.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+ Registry Relay provenance v1 context | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
JSON-LD context
+
Registry Relay provenance v1 context
+
JSON-LD context for Registry Relay provenance credential subjects.
+
https://id.registrystack.org/contexts/registry-relay/provenance/v1.jsonld
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ The canonical machine artifact at this URI is the JSON-LD context itself.
+
+
+
+
+
+
+
+
diff --git a/public/index.html b/public/index.html
index e83b59d9..b3d7cffd 100644
--- a/public/index.html
+++ b/public/index.html
@@ -43,22 +43,22 @@ Catalogs
- 59 identifiers
+ 271 identifiers
RFC 9457 problem type URIs with a stable code for programmatic branching.
- 1 identifiers
+ 4 identifiers
JSON-LD namespace declarations.
- 8 identifiers
+ 11 identifiers
JSON Schema documents, published at their canonical URI.
- 1 identifiers
+ 2 identifiers
JSON-LD contexts, published at their canonical URI.
diff --git a/public/namespaces/index.html b/public/namespaces/index.html
index 3d1a4b1e..c2df4d76 100644
--- a/public/namespaces/index.html
+++ b/public/namespaces/index.html
@@ -39,11 +39,14 @@ Namespaces
This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
- 1 published identifiers
+ 4 published identifiers
diff --git a/public/namespaces/index.json b/public/namespaces/index.json
index 4085a1e3..67a2274e 100644
--- a/public/namespaces/index.json
+++ b/public/namespaces/index.json
@@ -10,7 +10,7 @@
"owner": "registry-manifest",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-manifest-core/src/lib.rs",
"sha256": "a8d8c58eb9f2eb10db68b26c9e285a11fa3f531d98bab19ecab52e2a37e4b17f"
},
@@ -33,6 +33,112 @@
"scope": "identifier metadata",
"statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
}
+ },
+ {
+ "uri": "https://id.registrystack.org/ns/registry-notary/v1#",
+ "title": "Registry Notary v1 namespace",
+ "description": "JSON-LD namespace for Registry Notary metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "6680e28c21f5c01872d20d3cd73bb09e8dda00cbb1b5b0cb7c2d022eabc1179d"
+ },
+ "id": "https://id.registrystack.org/ns/registry-notary/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+ "title": "Registry Relay provenance v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay provenance credential terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ },
+ "id": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/ns/registry-relay/v1#",
+ "title": "Registry Relay v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ },
+ "id": "https://id.registrystack.org/ns/registry-relay/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
}
]
}
diff --git a/public/ns/registry-manifest/v1.json b/public/ns/registry-manifest/v1.json
index bc858209..6bf16107 100644
--- a/public/ns/registry-manifest/v1.json
+++ b/public/ns/registry-manifest/v1.json
@@ -8,7 +8,7 @@
"owner": "registry-manifest",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-manifest-core/src/lib.rs",
"sha256": "a8d8c58eb9f2eb10db68b26c9e285a11fa3f531d98bab19ecab52e2a37e4b17f"
},
diff --git a/public/ns/registry-manifest/v1/index.html b/public/ns/registry-manifest/v1/index.html
index c2a28d7f..41c68910 100644
--- a/public/ns/registry-manifest/v1/index.html
+++ b/public/ns/registry-manifest/v1/index.html
@@ -70,7 +70,7 @@ Identifier record
"owner": "registry-manifest",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-manifest-core/src/lib.rs",
"sha256": "a8d8c58eb9f2eb10db68b26c9e285a11fa3f531d98bab19ecab52e2a37e4b17f"
},
diff --git a/public/ns/registry-notary/v1.json b/public/ns/registry-notary/v1.json
new file mode 100644
index 00000000..fd3c774a
--- /dev/null
+++ b/public/ns/registry-notary/v1.json
@@ -0,0 +1,30 @@
+{
+ "uri": "https://id.registrystack.org/ns/registry-notary/v1#",
+ "title": "Registry Notary v1 namespace",
+ "description": "JSON-LD namespace for Registry Notary metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "6680e28c21f5c01872d20d3cd73bb09e8dda00cbb1b5b0cb7c2d022eabc1179d"
+ },
+ "id": "https://id.registrystack.org/ns/registry-notary/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+}
diff --git a/public/ns/registry-notary/v1/index.html b/public/ns/registry-notary/v1/index.html
new file mode 100644
index 00000000..0715d9d2
--- /dev/null
+++ b/public/ns/registry-notary/v1/index.html
@@ -0,0 +1,130 @@
+
+
+
+
+
+ Registry Notary v1 namespace | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Namespace
+
Registry Notary v1 namespace
+
JSON-LD namespace for Registry Notary metadata terms.
+
https://id.registrystack.org/ns/registry-notary/v1#
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+
+
+ Lifecycle
+
+
+ Kind Namespace
+ Status deprecated
+ Compatibility line legacy
+ Owner registry-notary
+
+
+
+
+
+ Identifier record
+ {
+ "uri": "https://id.registrystack.org/ns/registry-notary/v1#",
+ "title": "Registry Notary v1 namespace",
+ "description": "JSON-LD namespace for Registry Notary metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "6680e28c21f5c01872d20d3cd73bb09e8dda00cbb1b5b0cb7c2d022eabc1179d"
+ },
+ "id": "https://id.registrystack.org/ns/registry-notary/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/ns/registry-relay/provenance/v1.json b/public/ns/registry-relay/provenance/v1.json
new file mode 100644
index 00000000..50007dc5
--- /dev/null
+++ b/public/ns/registry-relay/provenance/v1.json
@@ -0,0 +1,38 @@
+{
+ "uri": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+ "title": "Registry Relay provenance v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay provenance credential terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ },
+ "id": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+}
diff --git a/public/ns/registry-relay/provenance/v1/index.html b/public/ns/registry-relay/provenance/v1/index.html
new file mode 100644
index 00000000..6c38f3e8
--- /dev/null
+++ b/public/ns/registry-relay/provenance/v1/index.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+ Registry Relay provenance v1 namespace | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Namespace
+
Registry Relay provenance v1 namespace
+
JSON-LD namespace for Registry Relay provenance credential terms.
+
https://id.registrystack.org/ns/registry-relay/provenance/v1#
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+
+
+ Lifecycle
+
+
+ Kind Namespace
+ Status deprecated
+ Compatibility line legacy
+ Owner registry-relay
+
+
+
+
+
+ Identifier record
+ {
+ "uri": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+ "title": "Registry Relay provenance v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay provenance credential terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ },
+ "id": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/ns/registry-relay/v1.json b/public/ns/registry-relay/v1.json
new file mode 100644
index 00000000..17aeeaf3
--- /dev/null
+++ b/public/ns/registry-relay/v1.json
@@ -0,0 +1,38 @@
+{
+ "uri": "https://id.registrystack.org/ns/registry-relay/v1#",
+ "title": "Registry Relay v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ },
+ "id": "https://id.registrystack.org/ns/registry-relay/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+}
diff --git a/public/ns/registry-relay/v1/index.html b/public/ns/registry-relay/v1/index.html
new file mode 100644
index 00000000..06ab6d85
--- /dev/null
+++ b/public/ns/registry-relay/v1/index.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+ Registry Relay v1 namespace | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Namespace
+
Registry Relay v1 namespace
+
JSON-LD namespace for Registry Relay metadata terms.
+
https://id.registrystack.org/ns/registry-relay/v1#
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+
+
+ Lifecycle
+
+
+ Kind Namespace
+ Status deprecated
+ Compatibility line legacy
+ Owner registry-relay
+
+
+
+
+
+ Identifier record
+ {
+ "uri": "https://id.registrystack.org/ns/registry-relay/v1#",
+ "title": "Registry Relay v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ },
+ "id": "https://id.registrystack.org/ns/registry-relay/v1#",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/index.html b/public/problems/index.html
index 3f1144e6..b2b99d94 100644
--- a/public/problems/index.html
+++ b/public/problems/index.html
@@ -39,7 +39,7 @@ Problems
This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
- 59 published identifiers
+ 271 published identifiers
diff --git a/public/problems/index.json b/public/problems/index.json
index 52370a18..c5b615a3 100644
--- a/public/problems/index.json
+++ b/public/problems/index.json
@@ -39,7 +39,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -83,7 +83,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -127,7 +127,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -171,7 +171,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -215,7 +215,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -259,7 +259,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -303,7 +303,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -347,7 +347,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -391,7 +391,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -435,7 +435,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -479,7 +479,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -523,7 +523,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -567,7 +567,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -611,7 +611,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -655,7 +655,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -699,7 +699,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -743,7 +743,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -787,7 +787,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -831,25 +831,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-discovery/invalid-request",
- "type": "https://id.registrystack.org/problems/registry-discovery/invalid-request",
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/cover-cycle",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/cover-cycle",
"kind": "problem",
"lifecycle_status": "active",
"compatibility_line": "v1alpha1",
- "product": "registry-discovery",
- "code": "invalid-request",
- "title": "Invalid request",
- "summary": "The Discovery request is invalid.",
- "description": "The Discovery request is invalid.",
+ "product": "registry-casework",
+ "code": "absence.cover-cycle",
+ "title": "Absence cover cycle",
+ "summary": "Choose cover assignments that do not return to an earlier person during a shared period.",
+ "description": "Choose cover assignments that do not return to an earlier person during a shared period.",
"category": null,
"http_statuses": [
- 400
+ 422
],
"guidance": {
"status": "not_published",
@@ -875,25 +875,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-discovery/not-found",
- "type": "https://id.registrystack.org/problems/registry-discovery/not-found",
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/invalid-period",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/invalid-period",
"kind": "problem",
"lifecycle_status": "active",
"compatibility_line": "v1alpha1",
- "product": "registry-discovery",
- "code": "not-found",
- "title": "Not found",
- "summary": "The requested Discovery resource was not found.",
- "description": "The requested Discovery resource was not found.",
+ "product": "registry-casework",
+ "code": "absence.invalid-period",
+ "title": "Invalid absence period",
+ "summary": "Set until later than from.",
+ "description": "Set until later than from.",
"category": null,
"http_statuses": [
- 404
+ 422
],
"guidance": {
"status": "not_published",
@@ -919,22 +919,22 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded",
- "type": "https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded",
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/overlap",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/overlap",
"kind": "problem",
"lifecycle_status": "active",
"compatibility_line": "v1alpha1",
- "product": "registry-discovery",
- "code": "result-bound-exceeded",
- "title": "Result bound exceeded",
- "summary": "The complete Discovery result exceeds its configured bound.",
- "description": "The complete Discovery result exceeds its configured bound.",
+ "product": "registry-casework",
+ "code": "absence.overlap",
+ "title": "Absence period overlaps",
+ "summary": "Adjust the period so this person has no overlapping absence.",
+ "description": "Adjust the period so this person has no overlapping absence.",
"category": null,
"http_statuses": [
422
@@ -963,25 +963,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-discovery/unavailable",
- "type": "https://id.registrystack.org/problems/registry-discovery/unavailable",
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/self-cover",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/self-cover",
"kind": "problem",
"lifecycle_status": "active",
"compatibility_line": "v1alpha1",
- "product": "registry-discovery",
- "code": "unavailable",
- "title": "Unavailable",
- "summary": "Registry Discovery is temporarily unavailable.",
- "description": "Registry Discovery is temporarily unavailable.",
+ "product": "registry-casework",
+ "code": "absence.self-cover",
+ "title": "Absence self-cover not allowed",
+ "summary": "Choose a different staff member as cover.",
+ "description": "Choose a different staff member as cover.",
"category": null,
"http_statuses": [
- 503
+ 422
],
"guidance": {
"status": "not_published",
@@ -1007,22 +1007,22 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential",
- "type": "https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential",
+ "id": "https://id.registrystack.org/problems/registry-casework/authentication/refused",
+ "type": "https://id.registrystack.org/problems/registry-casework/authentication/refused",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "auth.invalid_credential",
- "title": "Bearer access token is invalid",
- "summary": "bearer access token validation failed",
- "description": "bearer access token validation failed",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "authentication.refused",
+ "title": "Authentication refused",
+ "summary": "The bearer credential is missing, invalid, or expired. Sign in again.",
+ "description": "The bearer credential is missing, invalid, or expired. Sign in again.",
"category": null,
"http_statuses": [
401
@@ -1051,25 +1051,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/evidence/denied",
- "type": "https://id.registrystack.org/problems/registry-evidence/evidence/denied",
+ "id": "https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "evidence.denied",
- "title": "Evidence request is not permitted",
- "summary": "the Evidence request is not permitted",
- "description": "the Evidence request is not permitted",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "clock.recompute-preview-expired",
+ "title": "Clock recompute preview expired",
+ "summary": "Create a new recompute preview and review it before applying.",
+ "description": "Create a new recompute preview and review it before applying.",
"category": null,
"http_statuses": [
- 403
+ 410
],
"guidance": {
"status": "not_published",
@@ -1095,25 +1095,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request",
- "type": "https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request",
+ "id": "https://id.registrystack.org/problems/registry-casework/cursor/expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/cursor/expired",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "evidence.invalid_request",
- "title": "Evidence request is invalid",
- "summary": "the Evidence request is invalid",
- "description": "the Evidence request is invalid",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "cursor.expired",
+ "title": "Cursor expired",
+ "summary": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
"category": null,
"http_statuses": [
- 400
+ 410
],
"guidance": {
"status": "not_published",
@@ -1139,25 +1139,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited",
- "type": "https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited",
+ "id": "https://id.registrystack.org/problems/registry-casework/cursor/invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/cursor/invalid",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "evidence.rate_limited",
- "title": "Evidence request rate is exhausted",
- "summary": "the Evidence request rate is exhausted",
- "description": "the Evidence request rate is exhausted",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "cursor.invalid",
+ "title": "Cursor invalid",
+ "summary": "The cursor is invalid for this request.",
+ "description": "The cursor is invalid for this request.",
"category": null,
"http_statuses": [
- 429
+ 400
],
"guidance": {
"status": "not_published",
@@ -1183,25 +1183,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/evidence/unavailable",
- "type": "https://id.registrystack.org/problems/registry-evidence/evidence/unavailable",
+ "id": "https://id.registrystack.org/problems/registry-casework/idempotency/expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/idempotency/expired",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "evidence.unavailable",
- "title": "Evidence could not be produced",
- "summary": "evidence could not be produced for this request",
- "description": "evidence could not be produced for this request",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "idempotency.expired",
+ "title": "Idempotency window expired",
+ "summary": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
+ "description": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
"category": null,
"http_statuses": [
- 422
+ 410
],
"guidance": {
"status": "not_published",
@@ -1227,25 +1227,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/format/unsupported",
- "type": "https://id.registrystack.org/problems/registry-evidence/format/unsupported",
+ "id": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused",
+ "type": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "format.unsupported",
- "title": "Requested format is not supported",
- "summary": "the requested format is not supported",
- "description": "the requested format is not supported",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "idempotency.key-reused",
+ "title": "Idempotency key reused",
+ "summary": "This idempotency key was used for a different request.",
+ "description": "This idempotency key was used for a different request.",
"category": null,
"http_statuses": [
- 406
+ 409
],
"guidance": {
"status": "not_published",
@@ -1271,25 +1271,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/request/selector_invalid",
- "type": "https://id.registrystack.org/problems/registry-evidence/request/selector_invalid",
+ "id": "https://id.registrystack.org/problems/registry-casework/operation/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/operation/not-authorized",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "request.selector_invalid",
- "title": "Selector is invalid",
- "summary": "selector does not match an available request profile",
- "description": "selector does not match an available request profile",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "operation.not-authorized",
+ "title": "Operation not authorized",
+ "summary": "Your current Casework authority does not allow this operation.",
+ "description": "Your current Casework authority does not allow this operation.",
"category": null,
"http_statuses": [
- 400
+ 403
],
"guidance": {
"status": "not_published",
@@ -1315,25 +1315,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/resource/not_found",
- "type": "https://id.registrystack.org/problems/registry-evidence/resource/not_found",
+ "id": "https://id.registrystack.org/problems/registry-casework/precondition/failed",
+ "type": "https://id.registrystack.org/problems/registry-casework/precondition/failed",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "resource.not_found",
- "title": "Requested resource was not found",
- "summary": "the requested resource was not found",
- "description": "the requested resource was not found",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "precondition.failed",
+ "title": "Precondition failed",
+ "summary": "The item or directory changed since you loaded it. Reload and try again.",
+ "description": "The item or directory changed since you loaded it. Reload and try again.",
"category": null,
"http_statuses": [
- 404
+ 412
],
"guidance": {
"status": "not_published",
@@ -1359,25 +1359,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/service/unavailable",
- "type": "https://id.registrystack.org/problems/registry-evidence/service/unavailable",
+ "id": "https://id.registrystack.org/problems/registry-casework/precondition/required",
+ "type": "https://id.registrystack.org/problems/registry-casework/precondition/required",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "service.unavailable",
- "title": "Service is unavailable",
- "summary": "the request could not be served",
- "description": "the request could not be served",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "precondition.required",
+ "title": "Precondition required",
+ "summary": "This mutation requires the revision that you loaded.",
+ "description": "This mutation requires the revision that you loaded.",
"category": null,
"http_statuses": [
- 503
+ 428
],
"guidance": {
"status": "not_published",
@@ -1403,25 +1403,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-evidence/source/unavailable",
- "type": "https://id.registrystack.org/problems/registry-evidence/source/unavailable",
+ "id": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "v1",
- "product": "registry-evidence",
- "code": "source.unavailable",
- "title": "Authoritative source is unavailable",
- "summary": "the authoritative source is unavailable",
- "description": "the authoritative source is unavailable",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "profile.not-authorized",
+ "title": "Profile not authorized",
+ "summary": "The selected Casework profile does not authorize this request.",
+ "description": "The selected Casework profile does not authorize this request.",
"category": null,
"http_statuses": [
- 503
+ 403
],
"guidance": {
"status": "not_published",
@@ -1447,22 +1447,22 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/denied",
- "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/denied",
+ "id": "https://id.registrystack.org/problems/registry-casework/profile/not-human",
+ "type": "https://id.registrystack.org/problems/registry-casework/profile/not-human",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "relay-v2",
- "product": "registry-relay",
- "code": "aggregate-data.denied",
- "title": "Aggregate data access is not permitted",
- "summary": "aggregate data access is not permitted",
- "description": "aggregate data access is not permitted",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "profile.not-human",
+ "title": "Human session required",
+ "summary": "This action is reserved for a human session.",
+ "description": "This action is reserved for a human session.",
"category": null,
"http_statuses": [
403
@@ -1478,14 +1478,6 @@
{
"title": "Error and status code reference",
"href": "https://docs.registrystack.org/reference/errors/"
- },
- {
- "title": "Registry Relay product docs",
- "href": "https://docs.registrystack.org/products/registry-relay/"
- },
- {
- "title": "Registry Relay API overview",
- "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
}
],
"authority": {
@@ -1499,25 +1491,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request",
- "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request",
+ "id": "https://id.registrystack.org/problems/registry-casework/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/body-too-large",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "relay-v2",
- "product": "registry-relay",
- "code": "aggregate-data.invalid_request",
- "title": "Aggregate data request is invalid",
- "summary": "the aggregate data request is invalid",
- "description": "the aggregate data request is invalid",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.body-too-large",
+ "title": "Request body too large",
+ "summary": "The request body exceeds the one MiB limit.",
+ "description": "The request body exceeds the one MiB limit.",
"category": null,
"http_statuses": [
- 400
+ 413
],
"guidance": {
"status": "not_published",
@@ -1530,14 +1522,6 @@
{
"title": "Error and status code reference",
"href": "https://docs.registrystack.org/reference/errors/"
- },
- {
- "title": "Registry Relay product docs",
- "href": "https://docs.registrystack.org/products/registry-relay/"
- },
- {
- "title": "Registry Relay API overview",
- "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
}
],
"authority": {
@@ -1551,25 +1535,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited",
- "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited",
+ "id": "https://id.registrystack.org/problems/registry-casework/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/invalid",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "relay-v2",
- "product": "registry-relay",
- "code": "aggregate-data.rate_limited",
- "title": "Aggregate data quota is exhausted",
- "summary": "the aggregate data quota is exhausted",
- "description": "the aggregate data quota is exhausted",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.invalid",
+ "title": "Invalid request",
+ "summary": "The Casework request is invalid.",
+ "description": "The Casework request is invalid.",
"category": null,
"http_statuses": [
- 429
+ 400
],
"guidance": {
"status": "not_published",
@@ -1582,14 +1566,6 @@
{
"title": "Error and status code reference",
"href": "https://docs.registrystack.org/reference/errors/"
- },
- {
- "title": "Registry Relay product docs",
- "href": "https://docs.registrystack.org/products/registry-relay/"
- },
- {
- "title": "Registry Relay API overview",
- "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
}
],
"authority": {
@@ -1603,25 +1579,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large",
- "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large",
+ "id": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "relay-v2",
- "product": "registry-relay",
- "code": "aggregate-data.too_large",
- "title": "Aggregate data request is too broad",
- "summary": "the aggregate data request exceeds its observation limit",
- "description": "the aggregate data request exceeds its observation limit",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.method-not-allowed",
+ "title": "Method not allowed",
+ "summary": "This route does not accept that HTTP method.",
+ "description": "This route does not accept that HTTP method.",
"category": null,
"http_statuses": [
- 413
+ 405
],
"guidance": {
"status": "not_published",
@@ -1634,14 +1610,6 @@
{
"title": "Error and status code reference",
"href": "https://docs.registrystack.org/reference/errors/"
- },
- {
- "title": "Registry Relay product docs",
- "href": "https://docs.registrystack.org/products/registry-relay/"
- },
- {
- "title": "Registry Relay API overview",
- "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
}
],
"authority": {
@@ -1655,25 +1623,9723 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/audit/unavailable",
- "type": "https://id.registrystack.org/problems/registry-relay/audit/unavailable",
+ "id": "https://id.registrystack.org/problems/registry-casework/request/not-found",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/not-found",
"kind": "problem",
"lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.not-found",
+ "title": "Route not found",
+ "summary": "The requested Casework route does not exist.",
+ "description": "The requested Casework route does not exist.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/reason-unsupported",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/reason-unsupported",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.reason-unsupported",
+ "title": "Reason not supported",
+ "summary": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
+ "description": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/source-rejected",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/source-rejected",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.source-rejected",
+ "title": "Source rejected request",
+ "summary": "The source refused the request body. Fix the request before trying again.",
+ "description": "The source refused the request body. Fix the request before trying again.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/unprocessable",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/unprocessable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.unprocessable",
+ "title": "Request could not be processed",
+ "summary": "The request body does not match the Casework contract.",
+ "description": "The request body does not match the Casework contract.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.unsupported-media-type",
+ "title": "Unsupported media type",
+ "summary": "Send a JSON request body with Content-Type application/json.",
+ "description": "Send a JSON request body with Content-Type application/json.",
+ "category": null,
+ "http_statuses": [
+ 415
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "type": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "runtime.failure",
+ "title": "Casework runtime failure",
+ "summary": "Casework could not complete the request.",
+ "description": "Casework could not complete the request.",
+ "category": null,
+ "http_statuses": [
+ 500
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "service.unavailable",
+ "title": "Casework service unavailable",
+ "summary": "Casework storage is unavailable. Try again after the service recovers.",
+ "description": "Casework storage is unavailable. Try again after the service recovers.",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "type": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source-profile.not-applicable",
+ "title": "Source profile not applicable",
+ "summary": "Omit the Registry-Source-Profile header for this request.",
+ "description": "Omit the Registry-Source-Profile header for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "type": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source-profile.required",
+ "title": "Source profile required",
+ "summary": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "description": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.bad-gateway",
+ "title": "Invalid source response",
+ "summary": "The source returned a response that does not match its registered contract.",
+ "description": "The source returned a response that does not match its registered contract.",
+ "category": null,
+ "http_statuses": [
+ 502
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/not-found",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.not-found",
+ "title": "Source not found",
+ "summary": "The requested source is not registered.",
+ "description": "The requested source is not registered.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/record-missing",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/record-missing",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.record-missing",
+ "title": "Source record missing",
+ "summary": "The bound source record is no longer at the registered location.",
+ "description": "The bound source record is no longer at the registered location.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.reviewer-not-authorized",
+ "title": "Source reviewer not authorized",
+ "summary": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "description": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/signature-invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/signature-invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.signature-invalid",
+ "title": "Source signature invalid",
+ "summary": "The event's signature did not verify.",
+ "description": "The event's signature did not verify.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/already-claimed",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/already-claimed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.already-claimed",
+ "title": "Work item already claimed",
+ "summary": "Someone else claimed this item a moment ago.",
+ "description": "Someone else claimed this item a moment ago.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-holder",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-holder",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-holder",
+ "title": "Work item held by another person",
+ "summary": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "description": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-offered",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-offered",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-offered",
+ "title": "Work item action not offered",
+ "summary": "The registry did not offer this action to you. Refresh to check again.",
+ "description": "The registry did not offer this action to you. Refresh to check again.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-visible",
+ "title": "Work item not visible",
+ "summary": "The registry did not show you this request, so Casework cannot show you the item.",
+ "description": "The registry did not show you this request, so Casework cannot show you the item.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.proposal-changed",
+ "title": "Work item proposal changed",
+ "summary": "The proposal changed since you read it. Your private draft is retained.",
+ "description": "The proposal changed since you read it. Your private draft is retained.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.recovery-pending",
+ "title": "Work item recovery pending",
+ "summary": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "description": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.source-unavailable",
+ "title": "Work item source unavailable",
+ "summary": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "description": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/superseded",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/superseded",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.superseded",
+ "title": "Work item superseded",
+ "summary": "A revised proposal replaced this item. Open the current one.",
+ "description": "A revised proposal replaced this item. Open the current one.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-discovery/invalid-request",
+ "type": "https://id.registrystack.org/problems/registry-discovery/invalid-request",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-discovery",
+ "code": "invalid-request",
+ "title": "Invalid request",
+ "summary": "The Discovery request is invalid.",
+ "description": "The Discovery request is invalid.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-discovery/not-found",
+ "type": "https://id.registrystack.org/problems/registry-discovery/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-discovery",
+ "code": "not-found",
+ "title": "Not found",
+ "summary": "The requested Discovery resource was not found.",
+ "description": "The requested Discovery resource was not found.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded",
+ "type": "https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-discovery",
+ "code": "result-bound-exceeded",
+ "title": "Result bound exceeded",
+ "summary": "The complete Discovery result exceeds its configured bound.",
+ "description": "The complete Discovery result exceeds its configured bound.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-discovery/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-discovery/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-discovery",
+ "code": "unavailable",
+ "title": "Unavailable",
+ "summary": "Registry Discovery is temporarily unavailable.",
+ "description": "Registry Discovery is temporarily unavailable.",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential",
+ "type": "https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "auth.invalid_credential",
+ "title": "Bearer access token is invalid",
+ "summary": "bearer access token validation failed",
+ "description": "bearer access token validation failed",
+ "category": null,
+ "http_statuses": [
+ 401
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/evidence/denied",
+ "type": "https://id.registrystack.org/problems/registry-evidence/evidence/denied",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "evidence.denied",
+ "title": "Evidence request is not permitted",
+ "summary": "the Evidence request is not permitted",
+ "description": "the Evidence request is not permitted",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request",
+ "type": "https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "evidence.invalid_request",
+ "title": "Evidence request is invalid",
+ "summary": "the Evidence request is invalid",
+ "description": "the Evidence request is invalid",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited",
+ "type": "https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "evidence.rate_limited",
+ "title": "Evidence request rate is exhausted",
+ "summary": "the Evidence request rate is exhausted",
+ "description": "the Evidence request rate is exhausted",
+ "category": null,
+ "http_statuses": [
+ 429
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/evidence/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-evidence/evidence/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "evidence.unavailable",
+ "title": "Evidence could not be produced",
+ "summary": "evidence could not be produced for this request",
+ "description": "evidence could not be produced for this request",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/format/unsupported",
+ "type": "https://id.registrystack.org/problems/registry-evidence/format/unsupported",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "format.unsupported",
+ "title": "Requested format is not supported",
+ "summary": "the requested format is not supported",
+ "description": "the requested format is not supported",
+ "category": null,
+ "http_statuses": [
+ 406
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/request/selector_invalid",
+ "type": "https://id.registrystack.org/problems/registry-evidence/request/selector_invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "request.selector_invalid",
+ "title": "Selector is invalid",
+ "summary": "selector does not match an available request profile",
+ "description": "selector does not match an available request profile",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/resource/not_found",
+ "type": "https://id.registrystack.org/problems/registry-evidence/resource/not_found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "resource.not_found",
+ "title": "Requested resource was not found",
+ "summary": "the requested resource was not found",
+ "description": "the requested resource was not found",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/service/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-evidence/service/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "service.unavailable",
+ "title": "Service is unavailable",
+ "summary": "the request could not be served",
+ "description": "the request could not be served",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-evidence/source/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-evidence/source/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1",
+ "product": "registry-evidence",
+ "code": "source.unavailable",
+ "title": "Authoritative source is unavailable",
+ "summary": "the authoritative source is unavailable",
+ "description": "the authoritative source is unavailable",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "admin.config_bundle_invalid",
+ "title": "config bundle is invalid",
+ "summary": "A submitted configuration bundle could not be validated.",
+ "description": "A submitted configuration bundle could not be validated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/audit/write_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/audit/write_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "audit.write_failed",
+ "title": "audit write failed",
+ "summary": "An audit record could not be written.",
+ "description": "An audit record could not be written.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/missing_credential",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/missing_credential",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.missing_credential",
+ "title": "credential is missing",
+ "summary": "No authentication credential was provided.",
+ "description": "No authentication credential was provided.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.multiple_credentials",
+ "title": "multiple authentication credentials were provided",
+ "summary": "More than one authentication credential was provided.",
+ "description": "More than one authentication credential was provided.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/purpose_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/purpose_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.purpose_required",
+ "title": "purpose is required",
+ "summary": "The request omits a required purpose.",
+ "description": "The request omits a required purpose.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/scope_denied",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/scope_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.scope_denied",
+ "title": "required scope is missing",
+ "summary": "The caller's scopes do not include the required scope.",
+ "description": "The caller's scopes do not include the required scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/batch/too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/batch/too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "batch.too_large",
+ "title": "batch request is too large",
+ "summary": "The batch request exceeds the configured item limit.",
+ "description": "The batch request exceeds the configured item limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.disclosure_not_allowed",
+ "title": "requested disclosure is not allowed",
+ "summary": "The requested disclosure level is not permitted for the claim.",
+ "description": "The requested disclosure level is not permitted for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/format_not_supported",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/format_not_supported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.format_not_supported",
+ "title": "format is unsupported",
+ "summary": "The requested response format is not supported.",
+ "description": "The requested response format is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.not_found",
+ "title": "claim was not found",
+ "summary": "The requested claim id is not configured.",
+ "description": "The requested claim id is not configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.operation_unsupported",
+ "title": "claim operation is unsupported",
+ "summary": "The requested operation is not supported for the claim.",
+ "description": "The requested operation is not supported for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.rule_evaluation_failed",
+ "title": "claim rule evaluation failed",
+ "summary": "A configured claim rule could not be evaluated.",
+ "description": "A configured claim rule could not be evaluated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/version_not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/version_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.version_not_found",
+ "title": "claim version was not found",
+ "summary": "The requested claim version does not exist.",
+ "description": "The requested claim version does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/config/apply_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/config/apply_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "config.apply_unavailable",
+ "title": "config apply is unavailable",
+ "summary": "Runtime configuration apply is not available for this deployment.",
+ "description": "Runtime configuration apply is not available for this deployment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/config/candidate_invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/config/candidate_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "config.candidate_invalid",
+ "title": "config candidate is invalid",
+ "summary": "A submitted runtime configuration candidate failed validation.",
+ "description": "A submitted runtime configuration candidate failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.disabled",
+ "title": "credential status is disabled",
+ "summary": "The credential status surface is turned off for this deployment.",
+ "description": "The credential status surface is turned off for this deployment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.invalid_status",
+ "title": "credential status is invalid",
+ "summary": "The requested credential status value is not valid.",
+ "description": "The requested credential status value is not valid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.invalid_transition",
+ "title": "credential status transition is invalid",
+ "summary": "The requested status transition is not permitted.",
+ "description": "The requested status transition is not permitted.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.not_found",
+ "title": "credential status was not found",
+ "summary": "The requested credential status record does not exist.",
+ "description": "The requested credential status record does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.unavailable",
+ "title": "credential status is unavailable",
+ "summary": "Credential status could not be checked at this time.",
+ "description": "Credential status could not be checked at this time.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.holder_proof_replay",
+ "title": "holder proof has already been used",
+ "summary": "The supplied holder proof was already consumed.",
+ "description": "The supplied holder proof was already consumed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.holder_proof_required",
+ "title": "holder proof is required",
+ "summary": "Credential issuance requires a holder proof that was not supplied.",
+ "description": "Credential issuance requires a holder proof that was not supplied.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/issuance_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/issuance_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.issuance_failed",
+ "title": "credential issuance failed",
+ "summary": "The credential could not be issued for an internal reason.",
+ "description": "The credential could not be issued for an internal reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.issuer_not_configured",
+ "title": "credential issuer is not configured",
+ "summary": "Credential issuance was requested but no issuer is configured.",
+ "description": "Credential issuance was requested but no issuer is configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evaluation.binding_mismatch",
+ "title": "evaluation binding mismatch",
+ "summary": "The referenced evaluation does not match the requested binding.",
+ "description": "The referenced evaluation does not match the requested binding.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evaluation/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/evaluation/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evaluation.not_found",
+ "title": "evaluation was not found",
+ "summary": "The referenced evaluation id does not exist.",
+ "description": "The referenced evaluation id does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evidence/not_available",
+ "type": "https://id.registrystack.org/problems/registry-notary/evidence/not_available",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evidence.not_available",
+ "title": "evidence is not available",
+ "summary": "Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.",
+ "description": "Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evidence/server_disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/evidence/server_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evidence.server_disabled",
+ "title": "evidence server is disabled",
+ "summary": "The evidence surface is turned off in configuration.",
+ "description": "The evidence surface is turned off in configuration.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.disabled",
+ "title": "federation is disabled",
+ "summary": "The federation surface is turned off in configuration.",
+ "description": "The federation surface is turned off in configuration.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/forbidden",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/forbidden",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.forbidden",
+ "title": "federation request is forbidden",
+ "summary": "A known federation peer was denied by local policy.",
+ "description": "A known federation peer was denied by local policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/invalid_request",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/invalid_request",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.invalid_request",
+ "title": "federation request is invalid",
+ "summary": "A federation JSON or JWT request failed validation.",
+ "description": "A federation JSON or JWT request failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/invalid_token",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/invalid_token",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.invalid_token",
+ "title": "federation token is invalid",
+ "summary": "A federation request is missing valid authentication or its token failed verification.",
+ "description": "A federation request is missing valid authentication or its token failed verification.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/payload_too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/payload_too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.payload_too_large",
+ "title": "federation payload is too large",
+ "summary": "The federation request body exceeds the configured limit.",
+ "description": "The federation request body exceeds the configured limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/replay",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/replay",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.replay",
+ "title": "federation request was replayed",
+ "summary": "A federation `jti` or nonce was already used.",
+ "description": "A federation `jti` or nonce was already used.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/server_error",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/server_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.server_error",
+ "title": "federation server error",
+ "summary": "The federation request could not be served for an internal reason.",
+ "description": "The federation request could not be served for an internal reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.stale_source_observation",
+ "title": "federation source observation is stale",
+ "summary": "The federation source observation is older than policy allows; returned in a signed response body.",
+ "description": "The federation source observation is older than policy allows; returned in a signed response body.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.unsupported_media_type",
+ "title": "federation media type is unsupported",
+ "summary": "The federation request used a content type the surface does not accept.",
+ "description": "The federation request used a content type the surface does not accept.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/idempotency/conflict",
+ "type": "https://id.registrystack.org/problems/registry-notary/idempotency/conflict",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "idempotency.conflict",
+ "title": "idempotency key was reused with a different request",
+ "summary": "The idempotency key was reused with a different request body.",
+ "description": "The idempotency key was reused with a different request body.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/posture/filter_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/posture/filter_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "posture.filter_failed",
+ "title": "posture filter failed",
+ "summary": "A posture report filter could not be evaluated.",
+ "description": "A posture report filter could not be evaluated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/posture/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/posture/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "posture.unavailable",
+ "title": "posture state is unavailable",
+ "summary": "Posture state could not be read at this time.",
+ "description": "Posture state could not be read at this time.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/profile/unsupported",
+ "type": "https://id.registrystack.org/problems/registry-notary/profile/unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "profile.unsupported",
+ "title": "evidence request profile is unsupported",
+ "summary": "The requested evidence profile is not supported.",
+ "description": "The requested evidence profile is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/purpose/not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/purpose/not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "purpose.not_allowed",
+ "title": "purpose is not allowed",
+ "summary": "The requested purpose is not permitted for the claim.",
+ "description": "The requested purpose is not permitted for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/readiness/not_ready",
+ "type": "https://id.registrystack.org/problems/registry-notary/readiness/not_ready",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "readiness.not_ready",
+ "title": "service is not ready",
+ "summary": "The service is not ready to serve traffic.",
+ "description": "The service is not ready to serve traffic.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.capability.not_supported",
+ "title": "registry admin capability is not supported",
+ "summary": "The requested registry administration capability is not supported.",
+ "description": "The requested registry administration capability is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.config.inline_apply_rejected",
+ "title": "registry admin inline config apply was rejected",
+ "summary": "An inline configuration apply was rejected.",
+ "description": "An inline configuration apply was rejected.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.posture.invalid_tier",
+ "title": "registry admin posture tier is invalid",
+ "summary": "The requested posture tier is not a recognized value.",
+ "description": "The requested posture tier is not a recognized value.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.attributes_insufficient",
+ "title": "relationship attributes are insufficient for matching",
+ "summary": "The supplied attributes cannot resolve a relationship match.",
+ "description": "The supplied attributes cannot resolve a relationship match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.match_ambiguous",
+ "title": "relationship match is ambiguous",
+ "summary": "The relationship lookup matched more than one relationship.",
+ "description": "The relationship lookup matched more than one relationship.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/not_established",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/not_established",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.not_established",
+ "title": "relationship was not established",
+ "summary": "The required relationship between requester and target was not found.",
+ "description": "The required relationship between requester and target was not found.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.policy_rejected",
+ "title": "relationship policy rejected the request",
+ "summary": "The relationship policy denied the request.",
+ "description": "The relationship policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.purpose_not_allowed",
+ "title": "relationship is not allowed for the requested purpose",
+ "summary": "The relationship cannot be used for the requested purpose.",
+ "description": "The relationship cannot be used for the requested purpose.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/conflict",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/conflict",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.conflict",
+ "title": "request conflicts with current state",
+ "summary": "OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.",
+ "description": "OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.invalid",
+ "title": "evidence request is invalid",
+ "summary": "The request body or parameters failed validation.",
+ "description": "The request body or parameters failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.too_large",
+ "title": "request is too large",
+ "summary": "OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.",
+ "description": "OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/uri_too_long",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/uri_too_long",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.uri_too_long",
+ "title": "request uri is too long",
+ "summary": "The request URI exceeds the configured limit.",
+ "description": "The request URI exceeds the configured limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.attributes_insufficient",
+ "title": "requester attributes are insufficient for matching",
+ "summary": "The supplied requester attributes cannot resolve a match.",
+ "description": "The supplied requester attributes cannot resolve a match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/identifier_missing",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/identifier_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.identifier_missing",
+ "title": "requester identifier is missing",
+ "summary": "The request omits a required requester identifier.",
+ "description": "The request omits a required requester identifier.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.match_ambiguous",
+ "title": "requester lookup returned more than one record",
+ "summary": "The requester lookup matched more than one record.",
+ "description": "The requester lookup matched more than one record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.matching_policy_rejected",
+ "title": "requester matching policy rejected the request",
+ "summary": "The requester matching policy denied the request.",
+ "description": "The requester matching policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.not_found",
+ "title": "requester record was not found",
+ "summary": "The requester lookup matched no record.",
+ "description": "The requester lookup matched no record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.reauthentication_required",
+ "title": "requester must reauthenticate",
+ "summary": "The requester needs to authenticate again before the request can proceed.",
+ "description": "The requester needs to authenticate again before the request can proceed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/self_attestation/denied",
+ "type": "https://id.registrystack.org/problems/registry-notary/self_attestation/denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "self_attestation.denied",
+ "title": "self-attestation request is denied",
+ "summary": "A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.",
+ "description": "A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited",
+ "type": "https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "self_attestation.rate_limited",
+ "title": "self-attestation request is rate limited",
+ "summary": "Too many self-attestation requests in the configured window.",
+ "description": "Too many self-attestation requests in the configured window.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/source/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/source/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "source.unavailable",
+ "title": "source is unavailable",
+ "summary": "A configured source service could not be reached or did not respond.",
+ "description": "A configured source service could not be reached or did not respond.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.attributes_insufficient",
+ "title": "target attributes are insufficient for matching",
+ "summary": "The supplied target attributes cannot resolve a match.",
+ "description": "The supplied target attributes cannot resolve a match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/identifier_missing",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/identifier_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.identifier_missing",
+ "title": "target identifier is missing",
+ "summary": "The request omits a required target identifier.",
+ "description": "The request omits a required target identifier.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.match_ambiguous",
+ "title": "target lookup returned more than one record",
+ "summary": "The target lookup matched more than one source record.",
+ "description": "The target lookup matched more than one source record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/match_low_confidence",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/match_low_confidence",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.match_low_confidence",
+ "title": "target match confidence is too low",
+ "summary": "The best target match scored below the configured threshold.",
+ "description": "The best target match scored below the configured threshold.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.matching_policy_rejected",
+ "title": "target matching policy rejected the request",
+ "summary": "The target matching policy denied the request.",
+ "description": "The target matching policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.not_found",
+ "title": "target record was not found",
+ "summary": "The target lookup matched no source record.",
+ "description": "The target lookup matched no source record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.not_in_valid_state",
+ "title": "target is not in a valid state",
+ "summary": "The matched target is not in a state that allows evaluation.",
+ "description": "The matched target is not in a state that allows evaluation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-platform/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-platform/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-platform",
+ "code": "request.body_too_large",
+ "title": "Payload Too Large",
+ "summary": "The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.",
+ "description": "The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/admin/reload_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/admin/reload_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "admin.reload_failed",
+ "title": "reload failed",
+ "summary": "One or more resources failed to reload.",
+ "description": "One or more resources failed to reload.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/admin/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/admin/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "admin.unknown_resource",
+ "title": "unknown admin resource",
+ "summary": "The reload target id was not found.",
+ "description": "The reload target id was not found.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/denied",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "aggregate-data.denied",
+ "title": "Aggregate data access is not permitted",
+ "summary": "aggregate data access is not permitted",
+ "description": "aggregate data access is not permitted",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "aggregate-data.invalid_request",
+ "title": "Aggregate data request is invalid",
+ "summary": "the aggregate data request is invalid",
+ "description": "the aggregate data request is invalid",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "aggregate-data.rate_limited",
+ "title": "Aggregate data quota is exhausted",
+ "summary": "the aggregate data quota is exhausted",
+ "description": "the aggregate data quota is exhausted",
+ "category": null,
+ "http_statuses": [
+ 429
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "aggregate-data.too_large",
+ "title": "Aggregate data request is too broad",
+ "summary": "the aggregate data request exceeds its observation limit",
+ "description": "the aggregate data request exceeds its observation limit",
+ "category": null,
+ "http_statuses": [
+ 413
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.disclosure_violation",
+ "title": "disclosure violation",
+ "summary": "A disclosure-control invariant was violated before response.",
+ "description": "A disclosure-control invariant was violated before response.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.execution_failed",
+ "title": "aggregate execution failed",
+ "summary": "The query engine returned an execution error.",
+ "description": "The query engine returned an execution error.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/filter_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/filter_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.filter_required",
+ "title": "filter required",
+ "summary": "A required aggregate filter was not supplied.",
+ "description": "A required aggregate filter was not supplied.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.format_unsupported",
+ "title": "aggregate format unsupported",
+ "summary": "The requested aggregate response format is not supported.",
+ "description": "The requested aggregate response format is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.measure_unsupported",
+ "title": "aggregate measure unsupported",
+ "summary": "A configured measure references a function that is not implemented.",
+ "description": "A configured measure references a function that is not implemented.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/audit/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/audit/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "audit.unavailable",
+ "title": "Required audit is unavailable",
+ "summary": "required audit is unavailable",
+ "description": "required audit is unavailable",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/admin_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/admin_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.admin_required",
+ "title": "admin scope required",
+ "summary": "The endpoint requires the admin scope.",
+ "description": "The endpoint requires the admin scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.algorithm_not_allowed",
+ "title": "algorithm not allowed",
+ "summary": "The bearer token `alg` is not in the configured allowlist.",
+ "description": "The bearer token `alg` is not in the configured allowlist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.audience_mismatch",
+ "title": "audience mismatch",
+ "summary": "The bearer token `aud` does not intersect the configured audience set.",
+ "description": "The bearer token `aud` does not intersect the configured audience set.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.client_not_allowed",
+ "title": "client not allowed",
+ "summary": "The bearer token client is not in the configured `allowed_clients` list.",
+ "description": "The bearer token client is not in the configured `allowed_clients` list.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/invalid_credential",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/invalid_credential",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "auth.invalid_credential",
+ "title": "Bearer access token is invalid",
+ "summary": "bearer access token validation failed",
+ "description": "bearer access token validation failed",
+ "category": null,
+ "http_statuses": [
+ 401
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.issuer_mismatch",
+ "title": "issuer mismatch",
+ "summary": "The bearer token `iss` does not equal the configured issuer.",
+ "description": "The bearer token `iss` does not equal the configured issuer.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.jwks_unavailable",
+ "title": "jwks unavailable",
+ "summary": "The JWKS endpoint is unreachable and no cached keys are available.",
+ "description": "The JWKS endpoint is unreachable and no cached keys are available.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/kid_unknown",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/kid_unknown",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.kid_unknown",
+ "title": "kid unknown",
+ "summary": "The bearer token `kid` is not in the JWKS document after one refresh.",
+ "description": "The bearer token `kid` is not in the JWKS document after one refresh.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/malformed_credential",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/malformed_credential",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.malformed_credential",
+ "title": "malformed credential",
+ "summary": "The credential header could not be parsed.",
+ "description": "The credential header could not be parsed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/missing_credential",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/missing_credential",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "auth.missing_credential",
+ "title": "Bearer access token is required",
+ "summary": "a bearer access token is required",
+ "description": "a bearer access token is required",
+ "category": null,
+ "http_statuses": [
+ 401
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/purpose_denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/purpose_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.purpose_denied",
+ "title": "purpose denied",
+ "summary": "The `Data-Purpose` header is not permitted by policy for the resource.",
+ "description": "The `Data-Purpose` header is not permitted by policy for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/purpose_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/purpose_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.purpose_required",
+ "title": "purpose header required",
+ "summary": "The `Data-Purpose` header is required for the resource.",
+ "description": "The `Data-Purpose` header is required for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/scope_denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/scope_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.scope_denied",
+ "title": "scope denied",
+ "summary": "The caller lacks the required scope.",
+ "description": "The caller lacks the required scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_expired",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_expired",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_expired",
+ "title": "token expired",
+ "summary": "The bearer token `exp` is in the past beyond the configured leeway.",
+ "description": "The bearer token `exp` is in the past beyond the configured leeway.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_not_yet_valid",
+ "title": "token not yet valid",
+ "summary": "The bearer token `nbf` is in the future beyond the configured leeway.",
+ "description": "The bearer token `nbf` is in the future beyond the configured leeway.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_signature_invalid",
+ "title": "token signature invalid",
+ "summary": "The bearer token signature did not verify against the resolved key.",
+ "description": "The bearer token signature did not verify against the resolved key.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/duplicate_id",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/duplicate_id",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.duplicate_id",
+ "title": "duplicate identifier in config",
+ "summary": "Two configured ids collide.",
+ "description": "Two configured ids collide.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/missing_secret",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/missing_secret",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.missing_secret",
+ "title": "missing secret",
+ "summary": "A required hash environment variable is unset.",
+ "description": "A required hash environment variable is unset.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/parse_error",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/parse_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.parse_error",
+ "title": "config parse error",
+ "summary": "The configuration document did not deserialize.",
+ "description": "The configuration document did not deserialize.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/validation_error",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/validation_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.validation_error",
+ "title": "config validation error",
+ "summary": "The configuration failed cross-field validation.",
+ "description": "The configuration failed cross-field validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/consultation/denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/consultation/denied",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "consultation.denied",
+ "title": "Consultation is not permitted",
+ "summary": "the consultation is not permitted",
+ "description": "the consultation is not permitted",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/consultation/invalid_request",
+ "type": "https://id.registrystack.org/problems/registry-relay/consultation/invalid_request",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "consultation.invalid_request",
+ "title": "Consultation request is invalid",
+ "summary": "the consultation request is invalid",
+ "description": "the consultation request is invalid",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/consultation/rate_limited",
+ "type": "https://id.registrystack.org/problems/registry-relay/consultation/rate_limited",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "consultation.rate_limited",
+ "title": "Consultation quota is exhausted",
+ "summary": "the consultation quota is exhausted",
+ "description": "the consultation quota is exhausted",
+ "category": null,
+ "http_statuses": [
+ 429
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/consultation/response_too_large",
+ "type": "https://id.registrystack.org/problems/registry-relay/consultation/response_too_large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "consultation.response_too_large",
+ "title": "Consultation response is too large",
+ "summary": "the consultation response exceeds the configured limit",
+ "description": "the consultation response exceeds the configured limit",
+ "category": null,
+ "http_statuses": [
+ 413
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/consultation/unresolved",
+ "type": "https://id.registrystack.org/problems/registry-relay/consultation/unresolved",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "consultation.unresolved",
+ "title": "Requested record was not resolved",
+ "summary": "the requested record was not resolved",
+ "description": "the requested record was not resolved",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/entity/filter_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/entity/filter_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "entity.filter_required",
+ "title": "filter required",
+ "summary": "A row-collection read on an entity with `required_filters` received no qualifying filter.",
+ "description": "A row-collection read on an entity with `required_filters` received no qualifying filter.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/invalid_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/invalid_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.invalid_range",
+ "title": "invalid range",
+ "summary": "The range bounds are inverted or invalid.",
+ "description": "The range bounds are inverted or invalid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/invalid_value",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/invalid_value",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "filter.invalid_value",
+ "title": "Filter value is invalid",
+ "summary": "filter value is invalid",
+ "description": "filter value is invalid",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.limit_out_of_range",
+ "title": "limit out of range",
+ "summary": "The limit exceeds the configured maximum or is non-positive.",
+ "description": "The limit exceeds the configured maximum or is non-positive.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.not_allowed",
+ "title": "filter not allowed",
+ "summary": "The field is not in the resource's `allowed_filters` list.",
+ "description": "The field is not in the resource's `allowed_filters` list.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/too_many_filters",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/too_many_filters",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.too_many_filters",
+ "title": "too many filters",
+ "summary": "The request carries more filter parameters than the per-request cap allows.",
+ "description": "The request carries more filter parameters than the per-request cap allows.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/too_many_values",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/too_many_values",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.too_many_values",
+ "title": "too many filter values",
+ "summary": "An in-list exceeds the configured maximum of 100 values.",
+ "description": "An in-list exceeds the configured maximum of 100 values.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/unknown_field",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/unknown_field",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "filter.unknown_field",
+ "title": "Filter is not declared",
+ "summary": "filter is not declared for this operation",
+ "description": "filter is not declared for this operation",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/unsupported_op",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/unsupported_op",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.unsupported_op",
+ "title": "unsupported operator",
+ "summary": "The operator is not allowed for the field.",
+ "description": "The operator is not allowed for the field.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/format/unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/format/unsupported",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "format.unsupported",
+ "title": "Requested format is not supported",
+ "summary": "the requested format is not supported",
+ "description": "the requested format is not supported",
+ "category": null,
+ "http_statuses": [
+ 406
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.cache_write_failed",
+ "title": "cache write failed",
+ "summary": "The parquet cache could not be written.",
+ "description": "The parquet cache could not be written.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/registration_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/registration_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.registration_failed",
+ "title": "table registration failed",
+ "summary": "Table registration in the query engine failed.",
+ "description": "Table registration in the query engine failed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.schema_mismatch",
+ "title": "schema mismatch",
+ "summary": "The declared schema does not match observed columns or types.",
+ "description": "The declared schema does not match observed columns or types.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/source_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/source_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.source_not_found",
+ "title": "source not found",
+ "summary": "A configured source is missing or unreadable.",
+ "description": "A configured source is missing or unreadable.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.source_unreadable",
+ "title": "source unreadable",
+ "summary": "A source could not be read or parsed.",
+ "description": "A source could not be read or parsed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.strict_extra_column",
+ "title": "strict schema rejected extra column",
+ "summary": "A source contains columns absent from a strict schema.",
+ "description": "A source contains columns absent from a strict schema.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/internal/payload_too_large",
+ "type": "https://id.registrystack.org/problems/registry-relay/internal/payload_too_large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "internal.payload_too_large",
+ "title": "Request body is too large",
+ "summary": "request body exceeds the configured limit",
+ "description": "request body exceeds the configured limit",
+ "category": null,
+ "http_statuses": [
+ 413
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/internal/timeout",
+ "type": "https://id.registrystack.org/problems/registry-relay/internal/timeout",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "internal.timeout",
+ "title": "Request timed out",
+ "summary": "request exceeded the configured timeout",
+ "description": "request exceeded the configured timeout",
+ "category": null,
+ "http_statuses": [
+ 504
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/internal/unhandled",
+ "type": "https://id.registrystack.org/problems/registry-relay/internal/unhandled",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "internal.unhandled",
+ "title": "Request could not be served",
+ "summary": "the request could not be served",
+ "description": "the request could not be served",
+ "category": null,
+ "http_statuses": [
+ 500
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/internal/uri_too_long",
+ "type": "https://id.registrystack.org/problems/registry-relay/internal/uri_too_long",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "internal.uri_too_long",
+ "title": "Request URI is too long",
+ "summary": "request URI exceeds the configured limit",
+ "description": "request URI exceeds the configured limit",
+ "category": null,
+ "http_statuses": [
+ 414
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_invalid",
+ "title": "metadata manifest digest invalid",
+ "summary": "The manifest digest is not valid.",
+ "description": "The manifest digest is not valid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_mismatch",
+ "title": "metadata manifest digest mismatch",
+ "summary": "The manifest digest did not match the configured digest.",
+ "description": "The manifest digest did not match the configured digest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_required",
+ "title": "metadata manifest digest required",
+ "summary": "Governed configuration requires a manifest digest.",
+ "description": "Governed configuration requires a manifest digest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.file_not_found",
+ "title": "metadata manifest file not found",
+ "summary": "The metadata manifest could not be read.",
+ "description": "The metadata manifest could not be read.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.parse_failed",
+ "title": "metadata manifest parse failed",
+ "summary": "The metadata manifest did not deserialize.",
+ "description": "The metadata manifest did not deserialize.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.validation_failed",
+ "title": "metadata manifest validation failed",
+ "summary": "The manifest failed semantic validation.",
+ "description": "The manifest failed semantic validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.version_unsupported",
+ "title": "metadata manifest version unsupported",
+ "summary": "The manifest `schema_version` is not supported.",
+ "description": "The manifest `schema_version` is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.collection_not_found",
+ "title": "ogc collection not found",
+ "summary": "The collection is not registered, spatially exposed, or visible to the caller.",
+ "description": "The collection is not registered, spatially exposed, or visible to the caller.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.feature_not_found",
+ "title": "ogc feature not found",
+ "summary": "The feature is not registered, visible, or within the required filter context.",
+ "description": "The feature is not registered, visible, or within the required filter context.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/record_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/record_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.record_not_found",
+ "title": "ogc record not found",
+ "summary": "The record is not registered or visible to the caller.",
+ "description": "The record is not registered or visible to the caller.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.edr.config.feature_disabled",
+ "title": "ogc api edr feature disabled",
+ "summary": "OGC API EDR config was set but the binary lacks the feature.",
+ "description": "OGC API EDR config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.features.config.feature_disabled",
+ "title": "ogc api features feature disabled",
+ "summary": "OGC API Features config was set but the binary lacks the feature.",
+ "description": "OGC API Features config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.records.config.feature_disabled",
+ "title": "ogc api records feature disabled",
+ "summary": "OGC API Records config was set but the binary lacks the feature.",
+ "description": "OGC API Records config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.assurance_insufficient",
+ "title": "assurance insufficient",
+ "summary": "The request assurance is insufficient for policy.",
+ "description": "The request assurance is insufficient for policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/consent_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/consent_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.consent_required",
+ "title": "consent required",
+ "summary": "The policy requires a consent reference the request did not carry.",
+ "description": "The policy requires a consent reference the request did not carry.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.evidence_stale",
+ "title": "evidence stale",
+ "summary": "The source evidence is too old for policy.",
+ "description": "The source evidence is too old for policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.jurisdiction_not_permitted",
+ "title": "jurisdiction not permitted",
+ "summary": "The request jurisdiction is not permitted by policy.",
+ "description": "The request jurisdiction is not permitted by policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.legal_basis_required",
+ "title": "legal basis required",
+ "summary": "The policy requires a legal basis the request did not carry.",
+ "description": "The policy requires a legal basis the request did not carry.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_hash_invalid",
+ "title": "policy hash invalid",
+ "summary": "The policy hash did not validate.",
+ "description": "The policy hash did not validate.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_id_required",
+ "title": "policy id required",
+ "summary": "The policy identity is required but absent.",
+ "description": "The policy identity is required but absent.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_required",
+ "title": "policy required",
+ "summary": "An enforceable policy constraint is required but absent.",
+ "description": "An enforceable policy constraint is required but absent.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.purpose_not_permitted",
+ "title": "purpose not permitted",
+ "summary": "The request purpose is not permitted by policy.",
+ "description": "The request purpose is not permitted by policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.unsupported_policy_term",
+ "title": "unsupported policy term",
+ "summary": "The policy contains a term the service cannot enforce.",
+ "description": "The policy contains a term the service cannot enforce.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.algorithm_unsupported",
+ "title": "provenance signing algorithm unsupported",
+ "summary": "`signing_algorithm` is not EdDSA or ES256.",
+ "description": "`signing_algorithm` is not EdDSA or ES256.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.claim_validity_out_of_range",
+ "title": "provenance claim validity out of range",
+ "summary": "Claim validity is below 1 minute or above 365 days.",
+ "description": "Claim validity is below 1 minute or above 365 days.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.context_base_url_invalid",
+ "title": "provenance context base url invalid",
+ "summary": "`context_base_url` is not a valid http or https URL.",
+ "description": "`context_base_url` is not a valid http or https URL.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.issuer_did_mismatch",
+ "title": "provenance issuer did mismatch",
+ "summary": "The configured issuer DID does not match the deployment host.",
+ "description": "The configured issuer DID does not match the deployment host.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.jwk_env_missing",
+ "title": "provenance jwk_env missing",
+ "summary": "The configured signing key material is unavailable.",
+ "description": "The configured signing key material is unavailable.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.missing_issuer",
+ "title": "provenance issuer missing",
+ "summary": "Provenance is enabled but no issuer block resolved.",
+ "description": "Provenance is enabled but no issuer block resolved.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.schema_base_url_invalid",
+ "title": "provenance schema base url invalid",
+ "summary": "`schema_base_url` is not a valid http or https URL.",
+ "description": "`schema_base_url` is not a valid http or https URL.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.signer_kind_invalid",
+ "title": "provenance signer kind invalid",
+ "summary": "The signer kind is not `software` or `file_watch`.",
+ "description": "The signer kind is not `software` or `file_watch`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.verification_method_mismatch",
+ "title": "provenance verification method mismatch",
+ "summary": "`verification_method_id` does not start with the issuer DID plus a fragment.",
+ "description": "`verification_method_id` does not start with the issuer DID plus a fragment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.did_document_unavailable",
+ "title": "provenance did document unavailable",
+ "summary": "The deployment does not host a `did:web` document.",
+ "description": "The deployment does not host a `did:web` document.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.issuance_failed",
+ "title": "provenance issuance failed",
+ "summary": "The request could not be served as a verifiable credential.",
+ "description": "The request could not be served as a verifiable credential.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.signer_unavailable",
+ "title": "provenance signer unavailable",
+ "summary": "The configured signing backend is not currently available.",
+ "description": "The configured signing backend is not currently available.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.unknown_resource",
+ "title": "provenance unknown claim type or version",
+ "summary": "No resource is registered for the requested claim type or version.",
+ "description": "No resource is registered for the requested claim type or version.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "audit.unavailable",
- "title": "Required audit is unavailable",
- "summary": "required audit is unavailable",
- "description": "required audit is unavailable",
+ "code": "publicschema.config.feature_disabled",
+ "title": "publicschema cel feature disabled",
+ "summary": "PublicSchema CEL mapping was configured but the binary lacks the feature.",
+ "description": "PublicSchema CEL mapping was configured but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/query/cursor_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/query/cursor_invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "query.cursor_invalid",
+ "title": "Cursor is invalid",
+ "summary": "cursor is invalid for this query",
+ "description": "cursor is invalid for this query",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "request.access_profile_invalid",
+ "title": "Access profile selection is invalid",
+ "summary": "access profile selection is invalid",
+ "description": "access profile selection is invalid",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/request/fields_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/request/fields_invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "request.fields_invalid",
+ "title": "Field selection is invalid",
+ "summary": "field selection is invalid",
+ "description": "field selection is invalid",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "request.media_type_unsupported",
+ "title": "Request media type is not supported",
+ "summary": "request body must use application/json",
+ "description": "request body must use application/json",
+ "category": null,
+ "http_statuses": [
+ 415
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/resource/not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/resource/not_found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "relay-v2",
+ "product": "registry-relay",
+ "code": "resource.not_found",
+ "title": "Requested resource was not found",
+ "summary": "the requested resource was not found",
+ "description": "the requested resource was not found",
"category": null,
"http_statuses": [
- 503
+ 404
],
"guidance": {
"status": "not_published",
@@ -1707,26 +11373,75 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/auth/invalid_credential",
- "type": "https://id.registrystack.org/problems/registry-relay/auth/invalid_credential",
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "auth.invalid_credential",
- "title": "Bearer access token is invalid",
- "summary": "bearer access token validation failed",
- "description": "bearer access token validation failed",
+ "code": "runtime.binding.dataset_missing",
+ "title": "runtime dataset missing from metadata",
+ "summary": "A runtime dataset id is absent from the metadata manifest.",
+ "description": "A runtime dataset id is absent from the metadata manifest.",
"category": null,
- "http_statuses": [
- 401
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.ecosystem_binding_invalid",
+ "title": "runtime ecosystem binding is invalid",
+ "summary": "The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.",
+ "description": "The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.",
+ "category": null,
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -1757,28 +11472,78 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/auth/missing_credential",
- "type": "https://id.registrystack.org/problems/registry-relay/auth/missing_credential",
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "auth.missing_credential",
- "title": "Bearer access token is required",
- "summary": "a bearer access token is required",
- "description": "a bearer access token is required",
+ "code": "runtime.binding.ecosystem_binding_missing",
+ "title": "runtime ecosystem binding missing from metadata",
+ "summary": "The configured ecosystem binding selector is absent from the metadata manifest.",
+ "description": "The configured ecosystem binding selector is absent from the metadata manifest.",
"category": null,
- "http_statuses": [
- 401
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.entity_missing",
+ "title": "runtime entity missing from metadata",
+ "summary": "A runtime entity name is absent from the metadata manifest.",
+ "description": "A runtime entity name is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -1809,28 +11574,231 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/consultation/denied",
- "type": "https://id.registrystack.org/problems/registry-relay/consultation/denied",
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "consultation.denied",
- "title": "Consultation is not permitted",
- "summary": "the consultation is not permitted",
- "description": "the consultation is not permitted",
+ "code": "runtime.binding.field_missing",
+ "title": "runtime field missing from metadata",
+ "summary": "A runtime field binding is absent from the metadata manifest.",
+ "description": "A runtime field binding is absent from the metadata manifest.",
"category": null,
- "http_statuses": [
- 403
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.filter_missing",
+ "title": "runtime filter missing from metadata",
+ "summary": "A runtime filter binding is absent from the metadata manifest.",
+ "description": "A runtime filter binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.relationship_missing",
+ "title": "runtime relationship missing from metadata",
+ "summary": "A runtime relationship binding is absent from the metadata manifest.",
+ "description": "A runtime relationship binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.scope_missing",
+ "title": "runtime scope missing or invalid",
+ "summary": "A runtime scope is missing or uses an unsupported shape.",
+ "description": "A runtime scope is missing or uses an unsupported shape.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.table_missing",
+ "title": "runtime table missing",
+ "summary": "A runtime entity references a table that is not configured.",
+ "description": "A runtime entity references a table that is not configured.",
+ "category": null,
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -1861,28 +11829,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/consultation/invalid_request",
- "type": "https://id.registrystack.org/problems/registry-relay/consultation/invalid_request",
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "consultation.invalid_request",
- "title": "Consultation request is invalid",
- "summary": "the consultation request is invalid",
- "description": "the consultation request is invalid",
+ "code": "runtime.binding.unsupported_evidence_offering",
+ "title": "runtime evidence offering kind is unsupported",
+ "summary": "An evidence offering is not an external Registry Notary offering.",
+ "description": "An evidence offering is not an external Registry Notary offering.",
"category": null,
- "http_statuses": [
- 400
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -1913,28 +11880,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/consultation/rate_limited",
- "type": "https://id.registrystack.org/problems/registry-relay/consultation/rate_limited",
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "consultation.rate_limited",
- "title": "Consultation quota is exhausted",
- "summary": "the consultation quota is exhausted",
- "description": "the consultation quota is exhausted",
+ "code": "schema.resource_unavailable",
+ "title": "resource unavailable",
+ "summary": "The resource is configured but failed ingest or is mid-reload.",
+ "description": "The resource is configured but failed ingest or is mid-reload.",
"category": null,
- "http_statuses": [
- 429
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -1965,28 +11931,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/consultation/response_too_large",
- "type": "https://id.registrystack.org/problems/registry-relay/consultation/response_too_large",
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "consultation.response_too_large",
- "title": "Consultation response is too large",
- "summary": "the consultation response exceeds the configured limit",
- "description": "the consultation response exceeds the configured limit",
+ "code": "schema.unknown_aggregate",
+ "title": "unknown aggregate",
+ "summary": "The aggregate id is not declared for the resource.",
+ "description": "The aggregate id is not declared for the resource.",
"category": null,
- "http_statuses": [
- 413
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2017,28 +11982,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/consultation/unresolved",
- "type": "https://id.registrystack.org/problems/registry-relay/consultation/unresolved",
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "consultation.unresolved",
- "title": "Requested record was not resolved",
- "summary": "the requested record was not resolved",
- "description": "the requested record was not resolved",
+ "code": "schema.unknown_dataset",
+ "title": "unknown dataset",
+ "summary": "The dataset id is not registered.",
+ "description": "The dataset id is not registered.",
"category": null,
- "http_statuses": [
- 404
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2069,28 +12033,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/filter/invalid_value",
- "type": "https://id.registrystack.org/problems/registry-relay/filter/invalid_value",
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_resource",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "filter.invalid_value",
- "title": "Filter value is invalid",
- "summary": "filter value is invalid",
- "description": "filter value is invalid",
+ "code": "schema.unknown_resource",
+ "title": "unknown resource",
+ "summary": "The resource id is not registered under the dataset.",
+ "description": "The resource id is not registered under the dataset.",
"category": null,
- "http_statuses": [
- 400
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2121,27 +12084,28 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/filter/unknown_field",
- "type": "https://id.registrystack.org/problems/registry-relay/filter/unknown_field",
+ "id": "https://id.registrystack.org/problems/registry-relay/service/not_ready",
+ "type": "https://id.registrystack.org/problems/registry-relay/service/not_ready",
"kind": "problem",
"lifecycle_status": "active",
"compatibility_line": "relay-v2",
"product": "registry-relay",
- "code": "filter.unknown_field",
- "title": "Filter is not declared",
- "summary": "filter is not declared for this operation",
- "description": "filter is not declared for this operation",
+ "code": "service.not_ready",
+ "title": "Service is not ready",
+ "summary": "the service is not ready",
+ "description": "the service is not ready",
"category": null,
"http_statuses": [
- 400
+ 503
],
"guidance": {
"status": "not_published",
@@ -2175,25 +12139,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/format/unsupported",
- "type": "https://id.registrystack.org/problems/registry-relay/format/unsupported",
+ "id": "https://id.registrystack.org/problems/registry-relay/source/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/source/unavailable",
"kind": "problem",
"lifecycle_status": "active",
"compatibility_line": "relay-v2",
"product": "registry-relay",
- "code": "format.unsupported",
- "title": "Requested format is not supported",
- "summary": "the requested format is not supported",
- "description": "the requested format is not supported",
+ "code": "source.unavailable",
+ "title": "Authoritative source is unavailable",
+ "summary": "the authoritative source is unavailable",
+ "description": "the authoritative source is unavailable",
"category": null,
"http_statuses": [
- 406
+ 503
],
"guidance": {
"status": "not_published",
@@ -2227,26 +12191,24 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/internal/payload_too_large",
- "type": "https://id.registrystack.org/problems/registry-relay/internal/payload_too_large",
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "internal.payload_too_large",
- "title": "Request body is too large",
- "summary": "request body exceeds the configured limit",
- "description": "request body exceeds the configured limit",
+ "code": "spatial.bbox_invalid",
+ "title": "spatial bbox invalid",
+ "summary": "The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.",
+ "description": "The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.",
"category": null,
- "http_statuses": [
- 413
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2277,28 +12239,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/internal/timeout",
- "type": "https://id.registrystack.org/problems/registry-relay/internal/timeout",
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "internal.timeout",
- "title": "Request timed out",
- "summary": "request exceeded the configured timeout",
- "description": "request exceeded the configured timeout",
+ "code": "spatial.crs_unsupported",
+ "title": "spatial crs unsupported",
+ "summary": "The requested coordinate reference system is not supported.",
+ "description": "The requested coordinate reference system is not supported.",
"category": null,
- "http_statuses": [
- 504
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2329,28 +12290,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/internal/unhandled",
- "type": "https://id.registrystack.org/problems/registry-relay/internal/unhandled",
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "internal.unhandled",
- "title": "Request could not be served",
- "summary": "the request could not be served",
- "description": "the request could not be served",
+ "code": "spatial.filter_unsupported",
+ "title": "spatial filter unsupported",
+ "summary": "A supported parameter cannot be evaluated for the collection.",
+ "description": "A supported parameter cannot be evaluated for the collection.",
"category": null,
- "http_statuses": [
- 500
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2381,28 +12341,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/internal/uri_too_long",
- "type": "https://id.registrystack.org/problems/registry-relay/internal/uri_too_long",
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "internal.uri_too_long",
- "title": "Request URI is too long",
- "summary": "request URI exceeds the configured limit",
- "description": "request URI exceeds the configured limit",
+ "code": "spatial.geometry_invalid",
+ "title": "spatial geometry invalid",
+ "summary": "The geometry field is malformed.",
+ "description": "The geometry field is malformed.",
"category": null,
- "http_statuses": [
- 414
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2433,28 +12392,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/query/cursor_invalid",
- "type": "https://id.registrystack.org/problems/registry-relay/query/cursor_invalid",
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "query.cursor_invalid",
- "title": "Cursor is invalid",
- "summary": "cursor is invalid for this query",
- "description": "cursor is invalid for this query",
+ "code": "spatial.geometry_too_large",
+ "title": "spatial geometry too large",
+ "summary": "The geometry exceeds the configured vertex limit.",
+ "description": "The geometry exceeds the configured vertex limit.",
"category": null,
- "http_statuses": [
- 400
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2485,28 +12443,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid",
- "type": "https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid",
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "request.access_profile_invalid",
- "title": "Access profile selection is invalid",
- "summary": "access profile selection is invalid",
- "description": "access profile selection is invalid",
+ "code": "spdci.config.feature_disabled",
+ "title": "spdci api standards feature disabled",
+ "summary": "SP DCI standards adapters were configured but the binary lacks the feature.",
+ "description": "SP DCI standards adapters were configured but the binary lacks the feature.",
"category": null,
- "http_statuses": [
- 400
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2537,28 +12494,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/request/fields_invalid",
- "type": "https://id.registrystack.org/problems/registry-relay/request/fields_invalid",
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "request.fields_invalid",
- "title": "Field selection is invalid",
- "summary": "field selection is invalid",
- "description": "field selection is invalid",
+ "code": "spdci.config.mapping_feature_disabled",
+ "title": "spdci cel mapping feature disabled",
+ "summary": "SP DCI response mapping was configured but the binary lacks the feature.",
+ "description": "SP DCI response mapping was configured but the binary lacks the feature.",
"category": null,
- "http_statuses": [
- 400
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2589,28 +12545,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported",
- "type": "https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported",
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "request.media_type_unsupported",
- "title": "Request media type is not supported",
- "summary": "request body must use application/json",
- "description": "request body must use application/json",
+ "code": "spdci.mapper.unavailable",
+ "title": "spdci response mapper unavailable",
+ "summary": "Response mapping is configured but the mapper extension is not installed.",
+ "description": "Response mapping is configured but the mapper extension is not installed.",
"category": null,
- "http_statuses": [
- 415
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2641,28 +12596,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/resource/not_found",
- "type": "https://id.registrystack.org/problems/registry-relay/resource/not_found",
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "resource.not_found",
- "title": "Requested resource was not found",
- "summary": "the requested resource was not found",
- "description": "the requested resource was not found",
+ "code": "spdci.request.invalid_header",
+ "title": "invalid spdci header",
+ "summary": "The request header is missing or omits a required SP DCI field.",
+ "description": "The request header is missing or omits a required SP DCI field.",
"category": null,
- "http_statuses": [
- 404
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2693,28 +12647,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/service/not_ready",
- "type": "https://id.registrystack.org/problems/registry-relay/service/not_ready",
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "service.not_ready",
- "title": "Service is not ready",
- "summary": "the service is not ready",
- "description": "the service is not ready",
+ "code": "spdci.request.invalid_message",
+ "title": "invalid spdci message",
+ "summary": "The request message is missing or not an object.",
+ "description": "The request message is missing or not an object.",
"category": null,
- "http_statuses": [
- 503
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2745,28 +12698,27 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-relay/source/unavailable",
- "type": "https://id.registrystack.org/problems/registry-relay/source/unavailable",
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id",
"kind": "problem",
- "lifecycle_status": "active",
- "compatibility_line": "relay-v2",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
"product": "registry-relay",
- "code": "source.unavailable",
- "title": "Authoritative source is unavailable",
- "summary": "the authoritative source is unavailable",
- "description": "the authoritative source is unavailable",
+ "code": "spdci.request.missing_transaction_id",
+ "title": "missing transaction_id",
+ "summary": "`message.transaction_id` is absent or empty.",
+ "description": "`message.transaction_id` is absent or empty.",
"category": null,
- "http_statuses": [
- 503
- ],
+ "http_statuses": null,
"guidance": {
"status": "not_published",
"retryable": null,
@@ -2797,11 +12749,12 @@
"programmatic_key": "code",
"parsing": "Do not parse semantics from the URL path."
},
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
}
]
diff --git a/public/problems/registry-breg/action/evidence_failed.json b/public/problems/registry-breg/action/evidence_failed.json
index 15360932..a49df145 100644
--- a/public/problems/registry-breg/action/evidence_failed.json
+++ b/public/problems/registry-breg/action/evidence_failed.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/action/evidence_failed/index.html b/public/problems/registry-breg/action/evidence_failed/index.html
index 6a03f9a4..14b66dbd 100644
--- a/public/problems/registry-breg/action/evidence_failed/index.html
+++ b/public/problems/registry-breg/action/evidence_failed/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/action/handler_failed.json b/public/problems/registry-breg/action/handler_failed.json
index 760a59e6..bee6e6dd 100644
--- a/public/problems/registry-breg/action/handler_failed.json
+++ b/public/problems/registry-breg/action/handler_failed.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/action/handler_failed/index.html b/public/problems/registry-breg/action/handler_failed/index.html
index 231c5aa2..f8cbc914 100644
--- a/public/problems/registry-breg/action/handler_failed/index.html
+++ b/public/problems/registry-breg/action/handler_failed/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/action/refused.json b/public/problems/registry-breg/action/refused.json
index a1dae3b2..443b8a7a 100644
--- a/public/problems/registry-breg/action/refused.json
+++ b/public/problems/registry-breg/action/refused.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/action/refused/index.html b/public/problems/registry-breg/action/refused/index.html
index b7d4287f..567d4b77 100644
--- a/public/problems/registry-breg/action/refused/index.html
+++ b/public/problems/registry-breg/action/refused/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/authentication/refused.json b/public/problems/registry-breg/authentication/refused.json
index 26a3083f..135f1e6f 100644
--- a/public/problems/registry-breg/authentication/refused.json
+++ b/public/problems/registry-breg/authentication/refused.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/authentication/refused/index.html b/public/problems/registry-breg/authentication/refused/index.html
index 828a6ead..08958640 100644
--- a/public/problems/registry-breg/authentication/refused/index.html
+++ b/public/problems/registry-breg/authentication/refused/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/idempotency/conflict.json b/public/problems/registry-breg/idempotency/conflict.json
index f150da7a..2809a87c 100644
--- a/public/problems/registry-breg/idempotency/conflict.json
+++ b/public/problems/registry-breg/idempotency/conflict.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/idempotency/conflict/index.html b/public/problems/registry-breg/idempotency/conflict/index.html
index af9b872c..21a4ec7f 100644
--- a/public/problems/registry-breg/idempotency/conflict/index.html
+++ b/public/problems/registry-breg/idempotency/conflict/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/lookup/unresolved.json b/public/problems/registry-breg/lookup/unresolved.json
index 5a9ad4e4..9bac37df 100644
--- a/public/problems/registry-breg/lookup/unresolved.json
+++ b/public/problems/registry-breg/lookup/unresolved.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/lookup/unresolved/index.html b/public/problems/registry-breg/lookup/unresolved/index.html
index 3442c38f..f6966b2f 100644
--- a/public/problems/registry-breg/lookup/unresolved/index.html
+++ b/public/problems/registry-breg/lookup/unresolved/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/mutation/conflict.json b/public/problems/registry-breg/mutation/conflict.json
index bfd663da..9127d796 100644
--- a/public/problems/registry-breg/mutation/conflict.json
+++ b/public/problems/registry-breg/mutation/conflict.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/mutation/conflict/index.html b/public/problems/registry-breg/mutation/conflict/index.html
index ba798a84..57bc1523 100644
--- a/public/problems/registry-breg/mutation/conflict/index.html
+++ b/public/problems/registry-breg/mutation/conflict/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/precondition/failed.json b/public/problems/registry-breg/precondition/failed.json
index 2821b2f3..db85befd 100644
--- a/public/problems/registry-breg/precondition/failed.json
+++ b/public/problems/registry-breg/precondition/failed.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/precondition/failed/index.html b/public/problems/registry-breg/precondition/failed/index.html
index a8f5c9a8..3e4e948e 100644
--- a/public/problems/registry-breg/precondition/failed/index.html
+++ b/public/problems/registry-breg/precondition/failed/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/precondition/required.json b/public/problems/registry-breg/precondition/required.json
index 6e401339..3dac4fa3 100644
--- a/public/problems/registry-breg/precondition/required.json
+++ b/public/problems/registry-breg/precondition/required.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/precondition/required/index.html b/public/problems/registry-breg/precondition/required/index.html
index 80ba6732..d83d32d4 100644
--- a/public/problems/registry-breg/precondition/required/index.html
+++ b/public/problems/registry-breg/precondition/required/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/query/cursor_invalid.json b/public/problems/registry-breg/query/cursor_invalid.json
index ffbec143..1f7b6da0 100644
--- a/public/problems/registry-breg/query/cursor_invalid.json
+++ b/public/problems/registry-breg/query/cursor_invalid.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/query/cursor_invalid/index.html b/public/problems/registry-breg/query/cursor_invalid/index.html
index c941691d..965251bc 100644
--- a/public/problems/registry-breg/query/cursor_invalid/index.html
+++ b/public/problems/registry-breg/query/cursor_invalid/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/query/invalid.json b/public/problems/registry-breg/query/invalid.json
index 2d770ea2..3260b085 100644
--- a/public/problems/registry-breg/query/invalid.json
+++ b/public/problems/registry-breg/query/invalid.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/query/invalid/index.html b/public/problems/registry-breg/query/invalid/index.html
index b553643c..4ab3cd08 100644
--- a/public/problems/registry-breg/query/invalid/index.html
+++ b/public/problems/registry-breg/query/invalid/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/request/invalid.json b/public/problems/registry-breg/request/invalid.json
index a6052f91..ed76294b 100644
--- a/public/problems/registry-breg/request/invalid.json
+++ b/public/problems/registry-breg/request/invalid.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/request/invalid/index.html b/public/problems/registry-breg/request/invalid/index.html
index b914ed7a..55693838 100644
--- a/public/problems/registry-breg/request/invalid/index.html
+++ b/public/problems/registry-breg/request/invalid/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/request/plan_refused.json b/public/problems/registry-breg/request/plan_refused.json
index 5c5a9771..7767d563 100644
--- a/public/problems/registry-breg/request/plan_refused.json
+++ b/public/problems/registry-breg/request/plan_refused.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/request/plan_refused/index.html b/public/problems/registry-breg/request/plan_refused/index.html
index b838c624..0da8d004 100644
--- a/public/problems/registry-breg/request/plan_refused/index.html
+++ b/public/problems/registry-breg/request/plan_refused/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/request/timeout.json b/public/problems/registry-breg/request/timeout.json
index 0e592f0c..fe68a7f3 100644
--- a/public/problems/registry-breg/request/timeout.json
+++ b/public/problems/registry-breg/request/timeout.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/request/timeout/index.html b/public/problems/registry-breg/request/timeout/index.html
index 22e18cbf..93281b5b 100644
--- a/public/problems/registry-breg/request/timeout/index.html
+++ b/public/problems/registry-breg/request/timeout/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/resource/not_found.json b/public/problems/registry-breg/resource/not_found.json
index 37c7f50c..bab313aa 100644
--- a/public/problems/registry-breg/resource/not_found.json
+++ b/public/problems/registry-breg/resource/not_found.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/resource/not_found/index.html b/public/problems/registry-breg/resource/not_found/index.html
index bd9dbff1..b2f249c1 100644
--- a/public/problems/registry-breg/resource/not_found/index.html
+++ b/public/problems/registry-breg/resource/not_found/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/runtime/not_ready.json b/public/problems/registry-breg/runtime/not_ready.json
index da10a3be..458be6a7 100644
--- a/public/problems/registry-breg/runtime/not_ready.json
+++ b/public/problems/registry-breg/runtime/not_ready.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/runtime/not_ready/index.html b/public/problems/registry-breg/runtime/not_ready/index.html
index 69ba518f..0e545e65 100644
--- a/public/problems/registry-breg/runtime/not_ready/index.html
+++ b/public/problems/registry-breg/runtime/not_ready/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/service/unavailable.json b/public/problems/registry-breg/service/unavailable.json
index ab99845f..57a123fa 100644
--- a/public/problems/registry-breg/service/unavailable.json
+++ b/public/problems/registry-breg/service/unavailable.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/service/unavailable/index.html b/public/problems/registry-breg/service/unavailable/index.html
index 45245204..4df8f2f2 100644
--- a/public/problems/registry-breg/service/unavailable/index.html
+++ b/public/problems/registry-breg/service/unavailable/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/source/unavailable.json b/public/problems/registry-breg/source/unavailable.json
index 4894dbfc..0fd7c4e5 100644
--- a/public/problems/registry-breg/source/unavailable.json
+++ b/public/problems/registry-breg/source/unavailable.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/source/unavailable/index.html b/public/problems/registry-breg/source/unavailable/index.html
index 7e61a15b..4873c459 100644
--- a/public/problems/registry-breg/source/unavailable/index.html
+++ b/public/problems/registry-breg/source/unavailable/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/unsupported/media_type.json b/public/problems/registry-breg/unsupported/media_type.json
index 3be3432f..ef905a5a 100644
--- a/public/problems/registry-breg/unsupported/media_type.json
+++ b/public/problems/registry-breg/unsupported/media_type.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-breg/unsupported/media_type/index.html b/public/problems/registry-breg/unsupported/media_type/index.html
index 1c0e4594..264bdd51 100644
--- a/public/problems/registry-breg/unsupported/media_type/index.html
+++ b/public/problems/registry-breg/unsupported/media_type/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
diff --git a/public/problems/registry-casework/absence/cover-cycle.json b/public/problems/registry-casework/absence/cover-cycle.json
new file mode 100644
index 00000000..8006613e
--- /dev/null
+++ b/public/problems/registry-casework/absence/cover-cycle.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/cover-cycle",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/cover-cycle",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.cover-cycle",
+ "title": "Absence cover cycle",
+ "summary": "Choose cover assignments that do not return to an earlier person during a shared period.",
+ "description": "Choose cover assignments that do not return to an earlier person during a shared period.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/absence/cover-cycle/index.html b/public/problems/registry-casework/absence/cover-cycle/index.html
new file mode 100644
index 00000000..d4c40e6e
--- /dev/null
+++ b/public/problems/registry-casework/absence/cover-cycle/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Absence cover cycle | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Absence cover cycle
+
Choose cover assignments that do not return to an earlier person during a shared period.
+
https://id.registrystack.org/problems/registry-casework/absence/cover-cycle
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/absence/cover-cycle
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code absence.cover-cycle
+ Category not published
+ HTTP statuses 422
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/cover-cycle",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/cover-cycle",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.cover-cycle",
+ "title": "Absence cover cycle",
+ "summary": "Choose cover assignments that do not return to an earlier person during a shared period.",
+ "description": "Choose cover assignments that do not return to an earlier person during a shared period.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/absence/invalid-period.json b/public/problems/registry-casework/absence/invalid-period.json
new file mode 100644
index 00000000..0af3740a
--- /dev/null
+++ b/public/problems/registry-casework/absence/invalid-period.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/invalid-period",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/invalid-period",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.invalid-period",
+ "title": "Invalid absence period",
+ "summary": "Set until later than from.",
+ "description": "Set until later than from.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/absence/invalid-period/index.html b/public/problems/registry-casework/absence/invalid-period/index.html
new file mode 100644
index 00000000..8bc9a559
--- /dev/null
+++ b/public/problems/registry-casework/absence/invalid-period/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Invalid absence period | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Invalid absence period
+
Set until later than from.
+
https://id.registrystack.org/problems/registry-casework/absence/invalid-period
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/absence/invalid-period
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code absence.invalid-period
+ Category not published
+ HTTP statuses 422
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/invalid-period",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/invalid-period",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.invalid-period",
+ "title": "Invalid absence period",
+ "summary": "Set until later than from.",
+ "description": "Set until later than from.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/absence/overlap.json b/public/problems/registry-casework/absence/overlap.json
new file mode 100644
index 00000000..c7fa7ebe
--- /dev/null
+++ b/public/problems/registry-casework/absence/overlap.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/overlap",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/overlap",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.overlap",
+ "title": "Absence period overlaps",
+ "summary": "Adjust the period so this person has no overlapping absence.",
+ "description": "Adjust the period so this person has no overlapping absence.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/absence/overlap/index.html b/public/problems/registry-casework/absence/overlap/index.html
new file mode 100644
index 00000000..12add030
--- /dev/null
+++ b/public/problems/registry-casework/absence/overlap/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Absence period overlaps | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Absence period overlaps
+
Adjust the period so this person has no overlapping absence.
+
https://id.registrystack.org/problems/registry-casework/absence/overlap
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/absence/overlap
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code absence.overlap
+ Category not published
+ HTTP statuses 422
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/overlap",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/overlap",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.overlap",
+ "title": "Absence period overlaps",
+ "summary": "Adjust the period so this person has no overlapping absence.",
+ "description": "Adjust the period so this person has no overlapping absence.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/absence/self-cover.json b/public/problems/registry-casework/absence/self-cover.json
new file mode 100644
index 00000000..60a30cec
--- /dev/null
+++ b/public/problems/registry-casework/absence/self-cover.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/self-cover",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/self-cover",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.self-cover",
+ "title": "Absence self-cover not allowed",
+ "summary": "Choose a different staff member as cover.",
+ "description": "Choose a different staff member as cover.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/absence/self-cover/index.html b/public/problems/registry-casework/absence/self-cover/index.html
new file mode 100644
index 00000000..142088f2
--- /dev/null
+++ b/public/problems/registry-casework/absence/self-cover/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Absence self-cover not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Absence self-cover not allowed
+
Choose a different staff member as cover.
+
https://id.registrystack.org/problems/registry-casework/absence/self-cover
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/absence/self-cover
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code absence.self-cover
+ Category not published
+ HTTP statuses 422
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/absence/self-cover",
+ "type": "https://id.registrystack.org/problems/registry-casework/absence/self-cover",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "absence.self-cover",
+ "title": "Absence self-cover not allowed",
+ "summary": "Choose a different staff member as cover.",
+ "description": "Choose a different staff member as cover.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/authentication/refused.json b/public/problems/registry-casework/authentication/refused.json
new file mode 100644
index 00000000..9fc945b2
--- /dev/null
+++ b/public/problems/registry-casework/authentication/refused.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/authentication/refused",
+ "type": "https://id.registrystack.org/problems/registry-casework/authentication/refused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "authentication.refused",
+ "title": "Authentication refused",
+ "summary": "The bearer credential is missing, invalid, or expired. Sign in again.",
+ "description": "The bearer credential is missing, invalid, or expired. Sign in again.",
+ "category": null,
+ "http_statuses": [
+ 401
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/authentication/refused/index.html b/public/problems/registry-casework/authentication/refused/index.html
new file mode 100644
index 00000000..87045752
--- /dev/null
+++ b/public/problems/registry-casework/authentication/refused/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Authentication refused | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Authentication refused
+
The bearer credential is missing, invalid, or expired. Sign in again.
+
https://id.registrystack.org/problems/registry-casework/authentication/refused
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/authentication/refused
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code authentication.refused
+ Category not published
+ HTTP statuses 401
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/authentication/refused",
+ "type": "https://id.registrystack.org/problems/registry-casework/authentication/refused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "authentication.refused",
+ "title": "Authentication refused",
+ "summary": "The bearer credential is missing, invalid, or expired. Sign in again.",
+ "description": "The bearer credential is missing, invalid, or expired. Sign in again.",
+ "category": null,
+ "http_statuses": [
+ 401
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/clock/recompute-preview-expired.json b/public/problems/registry-casework/clock/recompute-preview-expired.json
new file mode 100644
index 00000000..72f84b48
--- /dev/null
+++ b/public/problems/registry-casework/clock/recompute-preview-expired.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "clock.recompute-preview-expired",
+ "title": "Clock recompute preview expired",
+ "summary": "Create a new recompute preview and review it before applying.",
+ "description": "Create a new recompute preview and review it before applying.",
+ "category": null,
+ "http_statuses": [
+ 410
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/clock/recompute-preview-expired/index.html b/public/problems/registry-casework/clock/recompute-preview-expired/index.html
new file mode 100644
index 00000000..21f2369f
--- /dev/null
+++ b/public/problems/registry-casework/clock/recompute-preview-expired/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Clock recompute preview expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Clock recompute preview expired
+
Create a new recompute preview and review it before applying.
+
https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code clock.recompute-preview-expired
+ Category not published
+ HTTP statuses 410
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "clock.recompute-preview-expired",
+ "title": "Clock recompute preview expired",
+ "summary": "Create a new recompute preview and review it before applying.",
+ "description": "Create a new recompute preview and review it before applying.",
+ "category": null,
+ "http_statuses": [
+ 410
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/cursor/expired.json b/public/problems/registry-casework/cursor/expired.json
new file mode 100644
index 00000000..71f4da6c
--- /dev/null
+++ b/public/problems/registry-casework/cursor/expired.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/cursor/expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/cursor/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "cursor.expired",
+ "title": "Cursor expired",
+ "summary": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
+ "category": null,
+ "http_statuses": [
+ 410
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/cursor/expired/index.html b/public/problems/registry-casework/cursor/expired/index.html
new file mode 100644
index 00000000..2b47f48b
--- /dev/null
+++ b/public/problems/registry-casework/cursor/expired/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Cursor expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Cursor expired
+
This cursor has expired. Start again without a cursor and deduplicate entries by eventId.
+
https://id.registrystack.org/problems/registry-casework/cursor/expired
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/cursor/expired
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code cursor.expired
+ Category not published
+ HTTP statuses 410
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/cursor/expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/cursor/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "cursor.expired",
+ "title": "Cursor expired",
+ "summary": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
+ "category": null,
+ "http_statuses": [
+ 410
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/cursor/invalid.json b/public/problems/registry-casework/cursor/invalid.json
new file mode 100644
index 00000000..97472d84
--- /dev/null
+++ b/public/problems/registry-casework/cursor/invalid.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/cursor/invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/cursor/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "cursor.invalid",
+ "title": "Cursor invalid",
+ "summary": "The cursor is invalid for this request.",
+ "description": "The cursor is invalid for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/cursor/invalid/index.html b/public/problems/registry-casework/cursor/invalid/index.html
new file mode 100644
index 00000000..d55fac1d
--- /dev/null
+++ b/public/problems/registry-casework/cursor/invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Cursor invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Cursor invalid
+
The cursor is invalid for this request.
+
https://id.registrystack.org/problems/registry-casework/cursor/invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/cursor/invalid
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code cursor.invalid
+ Category not published
+ HTTP statuses 400
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/cursor/invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/cursor/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "cursor.invalid",
+ "title": "Cursor invalid",
+ "summary": "The cursor is invalid for this request.",
+ "description": "The cursor is invalid for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/idempotency/expired.json b/public/problems/registry-casework/idempotency/expired.json
new file mode 100644
index 00000000..4cc6ec77
--- /dev/null
+++ b/public/problems/registry-casework/idempotency/expired.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/idempotency/expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/idempotency/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "idempotency.expired",
+ "title": "Idempotency window expired",
+ "summary": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
+ "description": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
+ "category": null,
+ "http_statuses": [
+ 410
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/idempotency/expired/index.html b/public/problems/registry-casework/idempotency/expired/index.html
new file mode 100644
index 00000000..b17392af
--- /dev/null
+++ b/public/problems/registry-casework/idempotency/expired/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Idempotency window expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Idempotency window expired
+
The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.
+
https://id.registrystack.org/problems/registry-casework/idempotency/expired
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/idempotency/expired
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code idempotency.expired
+ Category not published
+ HTTP statuses 410
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/idempotency/expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/idempotency/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "idempotency.expired",
+ "title": "Idempotency window expired",
+ "summary": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
+ "description": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
+ "category": null,
+ "http_statuses": [
+ 410
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/idempotency/key-reused.json b/public/problems/registry-casework/idempotency/key-reused.json
new file mode 100644
index 00000000..6d1291ca
--- /dev/null
+++ b/public/problems/registry-casework/idempotency/key-reused.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused",
+ "type": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "idempotency.key-reused",
+ "title": "Idempotency key reused",
+ "summary": "This idempotency key was used for a different request.",
+ "description": "This idempotency key was used for a different request.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/idempotency/key-reused/index.html b/public/problems/registry-casework/idempotency/key-reused/index.html
new file mode 100644
index 00000000..51ff5a7f
--- /dev/null
+++ b/public/problems/registry-casework/idempotency/key-reused/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Idempotency key reused | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Idempotency key reused
+
This idempotency key was used for a different request.
+
https://id.registrystack.org/problems/registry-casework/idempotency/key-reused
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/idempotency/key-reused
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code idempotency.key-reused
+ Category not published
+ HTTP statuses 409
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused",
+ "type": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "idempotency.key-reused",
+ "title": "Idempotency key reused",
+ "summary": "This idempotency key was used for a different request.",
+ "description": "This idempotency key was used for a different request.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/operation/not-authorized.json b/public/problems/registry-casework/operation/not-authorized.json
new file mode 100644
index 00000000..3fc47c12
--- /dev/null
+++ b/public/problems/registry-casework/operation/not-authorized.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/operation/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/operation/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "operation.not-authorized",
+ "title": "Operation not authorized",
+ "summary": "Your current Casework authority does not allow this operation.",
+ "description": "Your current Casework authority does not allow this operation.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/operation/not-authorized/index.html b/public/problems/registry-casework/operation/not-authorized/index.html
new file mode 100644
index 00000000..bdb6f31e
--- /dev/null
+++ b/public/problems/registry-casework/operation/not-authorized/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Operation not authorized | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Operation not authorized
+
Your current Casework authority does not allow this operation.
+
https://id.registrystack.org/problems/registry-casework/operation/not-authorized
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/operation/not-authorized
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code operation.not-authorized
+ Category not published
+ HTTP statuses 403
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/operation/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/operation/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "operation.not-authorized",
+ "title": "Operation not authorized",
+ "summary": "Your current Casework authority does not allow this operation.",
+ "description": "Your current Casework authority does not allow this operation.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/precondition/failed.json b/public/problems/registry-casework/precondition/failed.json
new file mode 100644
index 00000000..973cd61b
--- /dev/null
+++ b/public/problems/registry-casework/precondition/failed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/precondition/failed",
+ "type": "https://id.registrystack.org/problems/registry-casework/precondition/failed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "precondition.failed",
+ "title": "Precondition failed",
+ "summary": "The item or directory changed since you loaded it. Reload and try again.",
+ "description": "The item or directory changed since you loaded it. Reload and try again.",
+ "category": null,
+ "http_statuses": [
+ 412
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/precondition/failed/index.html b/public/problems/registry-casework/precondition/failed/index.html
new file mode 100644
index 00000000..9c7a6ef1
--- /dev/null
+++ b/public/problems/registry-casework/precondition/failed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Precondition failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Precondition failed
+
The item or directory changed since you loaded it. Reload and try again.
+
https://id.registrystack.org/problems/registry-casework/precondition/failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/precondition/failed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code precondition.failed
+ Category not published
+ HTTP statuses 412
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/precondition/failed",
+ "type": "https://id.registrystack.org/problems/registry-casework/precondition/failed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "precondition.failed",
+ "title": "Precondition failed",
+ "summary": "The item or directory changed since you loaded it. Reload and try again.",
+ "description": "The item or directory changed since you loaded it. Reload and try again.",
+ "category": null,
+ "http_statuses": [
+ 412
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/precondition/required.json b/public/problems/registry-casework/precondition/required.json
new file mode 100644
index 00000000..33e75a56
--- /dev/null
+++ b/public/problems/registry-casework/precondition/required.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/precondition/required",
+ "type": "https://id.registrystack.org/problems/registry-casework/precondition/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "precondition.required",
+ "title": "Precondition required",
+ "summary": "This mutation requires the revision that you loaded.",
+ "description": "This mutation requires the revision that you loaded.",
+ "category": null,
+ "http_statuses": [
+ 428
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/precondition/required/index.html b/public/problems/registry-casework/precondition/required/index.html
new file mode 100644
index 00000000..d4ddd78c
--- /dev/null
+++ b/public/problems/registry-casework/precondition/required/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Precondition required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Precondition required
+
This mutation requires the revision that you loaded.
+
https://id.registrystack.org/problems/registry-casework/precondition/required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/precondition/required
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code precondition.required
+ Category not published
+ HTTP statuses 428
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/precondition/required",
+ "type": "https://id.registrystack.org/problems/registry-casework/precondition/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "precondition.required",
+ "title": "Precondition required",
+ "summary": "This mutation requires the revision that you loaded.",
+ "description": "This mutation requires the revision that you loaded.",
+ "category": null,
+ "http_statuses": [
+ 428
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/profile/not-authorized.json b/public/problems/registry-casework/profile/not-authorized.json
new file mode 100644
index 00000000..23afe2aa
--- /dev/null
+++ b/public/problems/registry-casework/profile/not-authorized.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "profile.not-authorized",
+ "title": "Profile not authorized",
+ "summary": "The selected Casework profile does not authorize this request.",
+ "description": "The selected Casework profile does not authorize this request.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/profile/not-authorized/index.html b/public/problems/registry-casework/profile/not-authorized/index.html
new file mode 100644
index 00000000..b5902bcb
--- /dev/null
+++ b/public/problems/registry-casework/profile/not-authorized/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Profile not authorized | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Profile not authorized
+
The selected Casework profile does not authorize this request.
+
https://id.registrystack.org/problems/registry-casework/profile/not-authorized
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/profile/not-authorized
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code profile.not-authorized
+ Category not published
+ HTTP statuses 403
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "profile.not-authorized",
+ "title": "Profile not authorized",
+ "summary": "The selected Casework profile does not authorize this request.",
+ "description": "The selected Casework profile does not authorize this request.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/profile/not-human.json b/public/problems/registry-casework/profile/not-human.json
new file mode 100644
index 00000000..519a85d0
--- /dev/null
+++ b/public/problems/registry-casework/profile/not-human.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/profile/not-human",
+ "type": "https://id.registrystack.org/problems/registry-casework/profile/not-human",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "profile.not-human",
+ "title": "Human session required",
+ "summary": "This action is reserved for a human session.",
+ "description": "This action is reserved for a human session.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/profile/not-human/index.html b/public/problems/registry-casework/profile/not-human/index.html
new file mode 100644
index 00000000..92586a9d
--- /dev/null
+++ b/public/problems/registry-casework/profile/not-human/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Human session required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Human session required
+
This action is reserved for a human session.
+
https://id.registrystack.org/problems/registry-casework/profile/not-human
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/profile/not-human
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code profile.not-human
+ Category not published
+ HTTP statuses 403
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/profile/not-human",
+ "type": "https://id.registrystack.org/problems/registry-casework/profile/not-human",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "profile.not-human",
+ "title": "Human session required",
+ "summary": "This action is reserved for a human session.",
+ "description": "This action is reserved for a human session.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/body-too-large.json b/public/problems/registry-casework/request/body-too-large.json
new file mode 100644
index 00000000..9f78ac68
--- /dev/null
+++ b/public/problems/registry-casework/request/body-too-large.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.body-too-large",
+ "title": "Request body too large",
+ "summary": "The request body exceeds the one MiB limit.",
+ "description": "The request body exceeds the one MiB limit.",
+ "category": null,
+ "http_statuses": [
+ 413
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/body-too-large/index.html b/public/problems/registry-casework/request/body-too-large/index.html
new file mode 100644
index 00000000..16fa00f3
--- /dev/null
+++ b/public/problems/registry-casework/request/body-too-large/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Request body too large | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Request body too large
+
The request body exceeds the one MiB limit.
+
https://id.registrystack.org/problems/registry-casework/request/body-too-large
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/body-too-large
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.body-too-large
+ Category not published
+ HTTP statuses 413
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.body-too-large",
+ "title": "Request body too large",
+ "summary": "The request body exceeds the one MiB limit.",
+ "description": "The request body exceeds the one MiB limit.",
+ "category": null,
+ "http_statuses": [
+ 413
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/invalid.json b/public/problems/registry-casework/request/invalid.json
new file mode 100644
index 00000000..8f3918b6
--- /dev/null
+++ b/public/problems/registry-casework/request/invalid.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.invalid",
+ "title": "Invalid request",
+ "summary": "The Casework request is invalid.",
+ "description": "The Casework request is invalid.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/invalid/index.html b/public/problems/registry-casework/request/invalid/index.html
new file mode 100644
index 00000000..3141ee18
--- /dev/null
+++ b/public/problems/registry-casework/request/invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Invalid request | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Invalid request
+
The Casework request is invalid.
+
https://id.registrystack.org/problems/registry-casework/request/invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/invalid
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.invalid
+ Category not published
+ HTTP statuses 400
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.invalid",
+ "title": "Invalid request",
+ "summary": "The Casework request is invalid.",
+ "description": "The Casework request is invalid.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/method-not-allowed.json b/public/problems/registry-casework/request/method-not-allowed.json
new file mode 100644
index 00000000..a70d8861
--- /dev/null
+++ b/public/problems/registry-casework/request/method-not-allowed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.method-not-allowed",
+ "title": "Method not allowed",
+ "summary": "This route does not accept that HTTP method.",
+ "description": "This route does not accept that HTTP method.",
+ "category": null,
+ "http_statuses": [
+ 405
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/method-not-allowed/index.html b/public/problems/registry-casework/request/method-not-allowed/index.html
new file mode 100644
index 00000000..f4745735
--- /dev/null
+++ b/public/problems/registry-casework/request/method-not-allowed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Method not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Method not allowed
+
This route does not accept that HTTP method.
+
https://id.registrystack.org/problems/registry-casework/request/method-not-allowed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/method-not-allowed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.method-not-allowed
+ Category not published
+ HTTP statuses 405
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.method-not-allowed",
+ "title": "Method not allowed",
+ "summary": "This route does not accept that HTTP method.",
+ "description": "This route does not accept that HTTP method.",
+ "category": null,
+ "http_statuses": [
+ 405
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/not-found.json b/public/problems/registry-casework/request/not-found.json
new file mode 100644
index 00000000..f84344b2
--- /dev/null
+++ b/public/problems/registry-casework/request/not-found.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/not-found",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.not-found",
+ "title": "Route not found",
+ "summary": "The requested Casework route does not exist.",
+ "description": "The requested Casework route does not exist.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/not-found/index.html b/public/problems/registry-casework/request/not-found/index.html
new file mode 100644
index 00000000..cb060966
--- /dev/null
+++ b/public/problems/registry-casework/request/not-found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Route not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Route not found
+
The requested Casework route does not exist.
+
https://id.registrystack.org/problems/registry-casework/request/not-found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/not-found
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.not-found
+ Category not published
+ HTTP statuses 404
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/not-found",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.not-found",
+ "title": "Route not found",
+ "summary": "The requested Casework route does not exist.",
+ "description": "The requested Casework route does not exist.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/reason-unsupported.json b/public/problems/registry-casework/request/reason-unsupported.json
new file mode 100644
index 00000000..3cf07027
--- /dev/null
+++ b/public/problems/registry-casework/request/reason-unsupported.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/reason-unsupported",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/reason-unsupported",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.reason-unsupported",
+ "title": "Reason not supported",
+ "summary": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
+ "description": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/reason-unsupported/index.html b/public/problems/registry-casework/request/reason-unsupported/index.html
new file mode 100644
index 00000000..a4a4d49e
--- /dev/null
+++ b/public/problems/registry-casework/request/reason-unsupported/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Reason not supported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Reason not supported
+
The reason field is not supported for approve or apply on this source. Omit it and try again.
+
https://id.registrystack.org/problems/registry-casework/request/reason-unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/reason-unsupported
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.reason-unsupported
+ Category not published
+ HTTP statuses 422
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/reason-unsupported",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/reason-unsupported",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.reason-unsupported",
+ "title": "Reason not supported",
+ "summary": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
+ "description": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/source-rejected.json b/public/problems/registry-casework/request/source-rejected.json
new file mode 100644
index 00000000..8657fb55
--- /dev/null
+++ b/public/problems/registry-casework/request/source-rejected.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/source-rejected",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/source-rejected",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.source-rejected",
+ "title": "Source rejected request",
+ "summary": "The source refused the request body. Fix the request before trying again.",
+ "description": "The source refused the request body. Fix the request before trying again.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/source-rejected/index.html b/public/problems/registry-casework/request/source-rejected/index.html
new file mode 100644
index 00000000..6bea7f81
--- /dev/null
+++ b/public/problems/registry-casework/request/source-rejected/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Source rejected request | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Source rejected request
+
The source refused the request body. Fix the request before trying again.
+
https://id.registrystack.org/problems/registry-casework/request/source-rejected
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/source-rejected
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.source-rejected
+ Category not published
+ HTTP statuses 422
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/source-rejected",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/source-rejected",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.source-rejected",
+ "title": "Source rejected request",
+ "summary": "The source refused the request body. Fix the request before trying again.",
+ "description": "The source refused the request body. Fix the request before trying again.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/unprocessable.json b/public/problems/registry-casework/request/unprocessable.json
new file mode 100644
index 00000000..6bfa77a2
--- /dev/null
+++ b/public/problems/registry-casework/request/unprocessable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/unprocessable",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/unprocessable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.unprocessable",
+ "title": "Request could not be processed",
+ "summary": "The request body does not match the Casework contract.",
+ "description": "The request body does not match the Casework contract.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/unprocessable/index.html b/public/problems/registry-casework/request/unprocessable/index.html
new file mode 100644
index 00000000..356d1679
--- /dev/null
+++ b/public/problems/registry-casework/request/unprocessable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Request could not be processed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Request could not be processed
+
The request body does not match the Casework contract.
+
https://id.registrystack.org/problems/registry-casework/request/unprocessable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/unprocessable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.unprocessable
+ Category not published
+ HTTP statuses 422
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/unprocessable",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/unprocessable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.unprocessable",
+ "title": "Request could not be processed",
+ "summary": "The request body does not match the Casework contract.",
+ "description": "The request body does not match the Casework contract.",
+ "category": null,
+ "http_statuses": [
+ 422
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/request/unsupported-media-type.json b/public/problems/registry-casework/request/unsupported-media-type.json
new file mode 100644
index 00000000..569cc793
--- /dev/null
+++ b/public/problems/registry-casework/request/unsupported-media-type.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.unsupported-media-type",
+ "title": "Unsupported media type",
+ "summary": "Send a JSON request body with Content-Type application/json.",
+ "description": "Send a JSON request body with Content-Type application/json.",
+ "category": null,
+ "http_statuses": [
+ 415
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/request/unsupported-media-type/index.html b/public/problems/registry-casework/request/unsupported-media-type/index.html
new file mode 100644
index 00000000..c8c3c6cf
--- /dev/null
+++ b/public/problems/registry-casework/request/unsupported-media-type/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Unsupported media type | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Unsupported media type
+
Send a JSON request body with Content-Type application/json.
+
https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code request.unsupported-media-type
+ Category not published
+ HTTP statuses 415
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type",
+ "type": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "request.unsupported-media-type",
+ "title": "Unsupported media type",
+ "summary": "Send a JSON request body with Content-Type application/json.",
+ "description": "Send a JSON request body with Content-Type application/json.",
+ "category": null,
+ "http_statuses": [
+ 415
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/runtime/failure.json b/public/problems/registry-casework/runtime/failure.json
new file mode 100644
index 00000000..f5f7b3e3
--- /dev/null
+++ b/public/problems/registry-casework/runtime/failure.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "type": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "runtime.failure",
+ "title": "Casework runtime failure",
+ "summary": "Casework could not complete the request.",
+ "description": "Casework could not complete the request.",
+ "category": null,
+ "http_statuses": [
+ 500
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/runtime/failure/index.html b/public/problems/registry-casework/runtime/failure/index.html
new file mode 100644
index 00000000..ff6e9800
--- /dev/null
+++ b/public/problems/registry-casework/runtime/failure/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Casework runtime failure | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Casework runtime failure
+
Casework could not complete the request.
+
https://id.registrystack.org/problems/registry-casework/runtime/failure
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/runtime/failure
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code runtime.failure
+ Category not published
+ HTTP statuses 500
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "type": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "runtime.failure",
+ "title": "Casework runtime failure",
+ "summary": "Casework could not complete the request.",
+ "description": "Casework could not complete the request.",
+ "category": null,
+ "http_statuses": [
+ 500
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/service/unavailable.json b/public/problems/registry-casework/service/unavailable.json
new file mode 100644
index 00000000..4cec0fa6
--- /dev/null
+++ b/public/problems/registry-casework/service/unavailable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "service.unavailable",
+ "title": "Casework service unavailable",
+ "summary": "Casework storage is unavailable. Try again after the service recovers.",
+ "description": "Casework storage is unavailable. Try again after the service recovers.",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/service/unavailable/index.html b/public/problems/registry-casework/service/unavailable/index.html
new file mode 100644
index 00000000..e784ff83
--- /dev/null
+++ b/public/problems/registry-casework/service/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Casework service unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Casework service unavailable
+
Casework storage is unavailable. Try again after the service recovers.
+
https://id.registrystack.org/problems/registry-casework/service/unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/service/unavailable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code service.unavailable
+ Category not published
+ HTTP statuses 503
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "service.unavailable",
+ "title": "Casework service unavailable",
+ "summary": "Casework storage is unavailable. Try again after the service recovers.",
+ "description": "Casework storage is unavailable. Try again after the service recovers.",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/source-profile/not-applicable.json b/public/problems/registry-casework/source-profile/not-applicable.json
new file mode 100644
index 00000000..f12c764e
--- /dev/null
+++ b/public/problems/registry-casework/source-profile/not-applicable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "type": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source-profile.not-applicable",
+ "title": "Source profile not applicable",
+ "summary": "Omit the Registry-Source-Profile header for this request.",
+ "description": "Omit the Registry-Source-Profile header for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/source-profile/not-applicable/index.html b/public/problems/registry-casework/source-profile/not-applicable/index.html
new file mode 100644
index 00000000..af965c1c
--- /dev/null
+++ b/public/problems/registry-casework/source-profile/not-applicable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Source profile not applicable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Source profile not applicable
+
Omit the Registry-Source-Profile header for this request.
+
https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code source-profile.not-applicable
+ Category not published
+ HTTP statuses 400
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "type": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source-profile.not-applicable",
+ "title": "Source profile not applicable",
+ "summary": "Omit the Registry-Source-Profile header for this request.",
+ "description": "Omit the Registry-Source-Profile header for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/source-profile/required.json b/public/problems/registry-casework/source-profile/required.json
new file mode 100644
index 00000000..c90111e9
--- /dev/null
+++ b/public/problems/registry-casework/source-profile/required.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "type": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source-profile.required",
+ "title": "Source profile required",
+ "summary": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "description": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/source-profile/required/index.html b/public/problems/registry-casework/source-profile/required/index.html
new file mode 100644
index 00000000..f12d41b0
--- /dev/null
+++ b/public/problems/registry-casework/source-profile/required/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Source profile required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Source profile required
+
Send the Registry-Source-Profile header to select the source profile for this request.
+
https://id.registrystack.org/problems/registry-casework/source-profile/required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/source-profile/required
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code source-profile.required
+ Category not published
+ HTTP statuses 400
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "type": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source-profile.required",
+ "title": "Source profile required",
+ "summary": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "description": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/source/bad-gateway.json b/public/problems/registry-casework/source/bad-gateway.json
new file mode 100644
index 00000000..8d88da18
--- /dev/null
+++ b/public/problems/registry-casework/source/bad-gateway.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.bad-gateway",
+ "title": "Invalid source response",
+ "summary": "The source returned a response that does not match its registered contract.",
+ "description": "The source returned a response that does not match its registered contract.",
+ "category": null,
+ "http_statuses": [
+ 502
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/source/bad-gateway/index.html b/public/problems/registry-casework/source/bad-gateway/index.html
new file mode 100644
index 00000000..682a51fd
--- /dev/null
+++ b/public/problems/registry-casework/source/bad-gateway/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Invalid source response | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Invalid source response
+
The source returned a response that does not match its registered contract.
+
https://id.registrystack.org/problems/registry-casework/source/bad-gateway
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/source/bad-gateway
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code source.bad-gateway
+ Category not published
+ HTTP statuses 502
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.bad-gateway",
+ "title": "Invalid source response",
+ "summary": "The source returned a response that does not match its registered contract.",
+ "description": "The source returned a response that does not match its registered contract.",
+ "category": null,
+ "http_statuses": [
+ 502
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/source/not-found.json b/public/problems/registry-casework/source/not-found.json
new file mode 100644
index 00000000..3a6f241a
--- /dev/null
+++ b/public/problems/registry-casework/source/not-found.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/source/not-found",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.not-found",
+ "title": "Source not found",
+ "summary": "The requested source is not registered.",
+ "description": "The requested source is not registered.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/source/not-found/index.html b/public/problems/registry-casework/source/not-found/index.html
new file mode 100644
index 00000000..9cbc325d
--- /dev/null
+++ b/public/problems/registry-casework/source/not-found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Source not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Source not found
+
The requested source is not registered.
+
https://id.registrystack.org/problems/registry-casework/source/not-found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/source/not-found
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code source.not-found
+ Category not published
+ HTTP statuses 404
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/not-found",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.not-found",
+ "title": "Source not found",
+ "summary": "The requested source is not registered.",
+ "description": "The requested source is not registered.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/source/record-missing.json b/public/problems/registry-casework/source/record-missing.json
new file mode 100644
index 00000000..c76cd11c
--- /dev/null
+++ b/public/problems/registry-casework/source/record-missing.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/source/record-missing",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/record-missing",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.record-missing",
+ "title": "Source record missing",
+ "summary": "The bound source record is no longer at the registered location.",
+ "description": "The bound source record is no longer at the registered location.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/source/record-missing/index.html b/public/problems/registry-casework/source/record-missing/index.html
new file mode 100644
index 00000000..d930905b
--- /dev/null
+++ b/public/problems/registry-casework/source/record-missing/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Source record missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Source record missing
+
The bound source record is no longer at the registered location.
+
https://id.registrystack.org/problems/registry-casework/source/record-missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/source/record-missing
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code source.record-missing
+ Category not published
+ HTTP statuses 404
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/record-missing",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/record-missing",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.record-missing",
+ "title": "Source record missing",
+ "summary": "The bound source record is no longer at the registered location.",
+ "description": "The bound source record is no longer at the registered location.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/source/reviewer-not-authorized.json b/public/problems/registry-casework/source/reviewer-not-authorized.json
new file mode 100644
index 00000000..da1bacb4
--- /dev/null
+++ b/public/problems/registry-casework/source/reviewer-not-authorized.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.reviewer-not-authorized",
+ "title": "Source reviewer not authorized",
+ "summary": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "description": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/source/reviewer-not-authorized/index.html b/public/problems/registry-casework/source/reviewer-not-authorized/index.html
new file mode 100644
index 00000000..b8d603d1
--- /dev/null
+++ b/public/problems/registry-casework/source/reviewer-not-authorized/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Source reviewer not authorized | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Source reviewer not authorized
+
The source refused the reviewer binding. Check the selected source profile and credential.
+
https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code source.reviewer-not-authorized
+ Category not published
+ HTTP statuses 403
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.reviewer-not-authorized",
+ "title": "Source reviewer not authorized",
+ "summary": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "description": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "category": null,
+ "http_statuses": [
+ 403
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/source/signature-invalid.json b/public/problems/registry-casework/source/signature-invalid.json
new file mode 100644
index 00000000..5f78370b
--- /dev/null
+++ b/public/problems/registry-casework/source/signature-invalid.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/source/signature-invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/signature-invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.signature-invalid",
+ "title": "Source signature invalid",
+ "summary": "The event's signature did not verify.",
+ "description": "The event's signature did not verify.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/source/signature-invalid/index.html b/public/problems/registry-casework/source/signature-invalid/index.html
new file mode 100644
index 00000000..76204dd0
--- /dev/null
+++ b/public/problems/registry-casework/source/signature-invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Source signature invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Source signature invalid
+
The event's signature did not verify.
+
https://id.registrystack.org/problems/registry-casework/source/signature-invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/source/signature-invalid
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code source.signature-invalid
+ Category not published
+ HTTP statuses 400
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/source/signature-invalid",
+ "type": "https://id.registrystack.org/problems/registry-casework/source/signature-invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "source.signature-invalid",
+ "title": "Source signature invalid",
+ "summary": "The event's signature did not verify.",
+ "description": "The event's signature did not verify.",
+ "category": null,
+ "http_statuses": [
+ 400
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/already-claimed.json b/public/problems/registry-casework/work-item/already-claimed.json
new file mode 100644
index 00000000..1ebaa685
--- /dev/null
+++ b/public/problems/registry-casework/work-item/already-claimed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/already-claimed",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/already-claimed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.already-claimed",
+ "title": "Work item already claimed",
+ "summary": "Someone else claimed this item a moment ago.",
+ "description": "Someone else claimed this item a moment ago.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/already-claimed/index.html b/public/problems/registry-casework/work-item/already-claimed/index.html
new file mode 100644
index 00000000..56d122f9
--- /dev/null
+++ b/public/problems/registry-casework/work-item/already-claimed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item already claimed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item already claimed
+
Someone else claimed this item a moment ago.
+
https://id.registrystack.org/problems/registry-casework/work-item/already-claimed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/already-claimed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.already-claimed
+ Category not published
+ HTTP statuses 409
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/already-claimed",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/already-claimed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.already-claimed",
+ "title": "Work item already claimed",
+ "summary": "Someone else claimed this item a moment ago.",
+ "description": "Someone else claimed this item a moment ago.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/not-holder.json b/public/problems/registry-casework/work-item/not-holder.json
new file mode 100644
index 00000000..4bf9b740
--- /dev/null
+++ b/public/problems/registry-casework/work-item/not-holder.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-holder",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-holder",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-holder",
+ "title": "Work item held by another person",
+ "summary": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "description": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/not-holder/index.html b/public/problems/registry-casework/work-item/not-holder/index.html
new file mode 100644
index 00000000..ca88b4a4
--- /dev/null
+++ b/public/problems/registry-casework/work-item/not-holder/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item held by another person | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item held by another person
+
You do not hold this item. Claim it first, or ask a supervisor.
+
https://id.registrystack.org/problems/registry-casework/work-item/not-holder
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/not-holder
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.not-holder
+ Category not published
+ HTTP statuses 409
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-holder",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-holder",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-holder",
+ "title": "Work item held by another person",
+ "summary": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "description": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/not-offered.json b/public/problems/registry-casework/work-item/not-offered.json
new file mode 100644
index 00000000..8dc31a14
--- /dev/null
+++ b/public/problems/registry-casework/work-item/not-offered.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-offered",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-offered",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-offered",
+ "title": "Work item action not offered",
+ "summary": "The registry did not offer this action to you. Refresh to check again.",
+ "description": "The registry did not offer this action to you. Refresh to check again.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/not-offered/index.html b/public/problems/registry-casework/work-item/not-offered/index.html
new file mode 100644
index 00000000..fcd5c11e
--- /dev/null
+++ b/public/problems/registry-casework/work-item/not-offered/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item action not offered | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item action not offered
+
The registry did not offer this action to you. Refresh to check again.
+
https://id.registrystack.org/problems/registry-casework/work-item/not-offered
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/not-offered
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.not-offered
+ Category not published
+ HTTP statuses 409
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-offered",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-offered",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-offered",
+ "title": "Work item action not offered",
+ "summary": "The registry did not offer this action to you. Refresh to check again.",
+ "description": "The registry did not offer this action to you. Refresh to check again.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/not-visible.json b/public/problems/registry-casework/work-item/not-visible.json
new file mode 100644
index 00000000..ea0290ac
--- /dev/null
+++ b/public/problems/registry-casework/work-item/not-visible.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-visible",
+ "title": "Work item not visible",
+ "summary": "The registry did not show you this request, so Casework cannot show you the item.",
+ "description": "The registry did not show you this request, so Casework cannot show you the item.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/not-visible/index.html b/public/problems/registry-casework/work-item/not-visible/index.html
new file mode 100644
index 00000000..f79789d9
--- /dev/null
+++ b/public/problems/registry-casework/work-item/not-visible/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item not visible | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item not visible
+
The registry did not show you this request, so Casework cannot show you the item.
+
https://id.registrystack.org/problems/registry-casework/work-item/not-visible
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/not-visible
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.not-visible
+ Category not published
+ HTTP statuses 404
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.not-visible",
+ "title": "Work item not visible",
+ "summary": "The registry did not show you this request, so Casework cannot show you the item.",
+ "description": "The registry did not show you this request, so Casework cannot show you the item.",
+ "category": null,
+ "http_statuses": [
+ 404
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/proposal-changed.json b/public/problems/registry-casework/work-item/proposal-changed.json
new file mode 100644
index 00000000..fe6e2472
--- /dev/null
+++ b/public/problems/registry-casework/work-item/proposal-changed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.proposal-changed",
+ "title": "Work item proposal changed",
+ "summary": "The proposal changed since you read it. Your private draft is retained.",
+ "description": "The proposal changed since you read it. Your private draft is retained.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/proposal-changed/index.html b/public/problems/registry-casework/work-item/proposal-changed/index.html
new file mode 100644
index 00000000..12fd1f12
--- /dev/null
+++ b/public/problems/registry-casework/work-item/proposal-changed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item proposal changed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item proposal changed
+
The proposal changed since you read it. Your private draft is retained.
+
https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.proposal-changed
+ Category not published
+ HTTP statuses 409
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.proposal-changed",
+ "title": "Work item proposal changed",
+ "summary": "The proposal changed since you read it. Your private draft is retained.",
+ "description": "The proposal changed since you read it. Your private draft is retained.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/recovery-pending.json b/public/problems/registry-casework/work-item/recovery-pending.json
new file mode 100644
index 00000000..242ced38
--- /dev/null
+++ b/public/problems/registry-casework/work-item/recovery-pending.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.recovery-pending",
+ "title": "Work item recovery pending",
+ "summary": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "description": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/recovery-pending/index.html b/public/problems/registry-casework/work-item/recovery-pending/index.html
new file mode 100644
index 00000000..8e243f16
--- /dev/null
+++ b/public/problems/registry-casework/work-item/recovery-pending/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item recovery pending | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item recovery pending
+
We could not confirm the result of your last action. Recover the original attempt; do not decide again.
+
https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.recovery-pending
+ Category not published
+ HTTP statuses 409
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.recovery-pending",
+ "title": "Work item recovery pending",
+ "summary": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "description": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/source-unavailable.json b/public/problems/registry-casework/work-item/source-unavailable.json
new file mode 100644
index 00000000..1f9646ab
--- /dev/null
+++ b/public/problems/registry-casework/work-item/source-unavailable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.source-unavailable",
+ "title": "Work item source unavailable",
+ "summary": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "description": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/source-unavailable/index.html b/public/problems/registry-casework/work-item/source-unavailable/index.html
new file mode 100644
index 00000000..c5d6d0b5
--- /dev/null
+++ b/public/problems/registry-casework/work-item/source-unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item source unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item source unavailable
+
The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.
+
https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.source-unavailable
+ Category not published
+ HTTP statuses 503
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.source-unavailable",
+ "title": "Work item source unavailable",
+ "summary": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "description": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "category": null,
+ "http_statuses": [
+ 503
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/work-item/superseded.json b/public/problems/registry-casework/work-item/superseded.json
new file mode 100644
index 00000000..e26214f9
--- /dev/null
+++ b/public/problems/registry-casework/work-item/superseded.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/superseded",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/superseded",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.superseded",
+ "title": "Work item superseded",
+ "summary": "A revised proposal replaced this item. Open the current one.",
+ "description": "A revised proposal replaced this item. Open the current one.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
diff --git a/public/problems/registry-casework/work-item/superseded/index.html b/public/problems/registry-casework/work-item/superseded/index.html
new file mode 100644
index 00000000..aa26b0f9
--- /dev/null
+++ b/public/problems/registry-casework/work-item/superseded/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Work item superseded | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Work item superseded
+
A revised proposal replaced this item. Open the current one.
+
https://id.registrystack.org/problems/registry-casework/work-item/superseded
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-casework/work-item/superseded
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code work-item.superseded
+ Category not published
+ HTTP statuses 409
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-casework/work-item/superseded",
+ "type": "https://id.registrystack.org/problems/registry-casework/work-item/superseded",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "work-item.superseded",
+ "title": "Work item superseded",
+ "summary": "A revised proposal replaced this item. Open the current one.",
+ "description": "A revised proposal replaced this item. Open the current one.",
+ "category": null,
+ "http_statuses": [
+ 409
+ ],
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-discovery/invalid-request.json b/public/problems/registry-discovery/invalid-request.json
index 00e9212c..39d2488f 100644
--- a/public/problems/registry-discovery/invalid-request.json
+++ b/public/problems/registry-discovery/invalid-request.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-discovery/invalid-request/index.html b/public/problems/registry-discovery/invalid-request/index.html
index 639c1afb..7de7074c 100644
--- a/public/problems/registry-discovery/invalid-request/index.html
+++ b/public/problems/registry-discovery/invalid-request/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-discovery/not-found.json b/public/problems/registry-discovery/not-found.json
index fb1cc3b0..ef4130dd 100644
--- a/public/problems/registry-discovery/not-found.json
+++ b/public/problems/registry-discovery/not-found.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-discovery/not-found/index.html b/public/problems/registry-discovery/not-found/index.html
index 262baa14..90841944 100644
--- a/public/problems/registry-discovery/not-found/index.html
+++ b/public/problems/registry-discovery/not-found/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-discovery/result-bound-exceeded.json b/public/problems/registry-discovery/result-bound-exceeded.json
index 7777c8dd..df651380 100644
--- a/public/problems/registry-discovery/result-bound-exceeded.json
+++ b/public/problems/registry-discovery/result-bound-exceeded.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-discovery/result-bound-exceeded/index.html b/public/problems/registry-discovery/result-bound-exceeded/index.html
index 5d74475e..d062b66c 100644
--- a/public/problems/registry-discovery/result-bound-exceeded/index.html
+++ b/public/problems/registry-discovery/result-bound-exceeded/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-discovery/unavailable.json b/public/problems/registry-discovery/unavailable.json
index 7693cb08..31b2ca61 100644
--- a/public/problems/registry-discovery/unavailable.json
+++ b/public/problems/registry-discovery/unavailable.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-discovery/unavailable/index.html b/public/problems/registry-discovery/unavailable/index.html
index d1c64644..de70df63 100644
--- a/public/problems/registry-discovery/unavailable/index.html
+++ b/public/problems/registry-discovery/unavailable/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
diff --git a/public/problems/registry-evidence/auth/invalid_credential.json b/public/problems/registry-evidence/auth/invalid_credential.json
index df983595..fbaa2152 100644
--- a/public/problems/registry-evidence/auth/invalid_credential.json
+++ b/public/problems/registry-evidence/auth/invalid_credential.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/auth/invalid_credential/index.html b/public/problems/registry-evidence/auth/invalid_credential/index.html
index aed99e19..78b24436 100644
--- a/public/problems/registry-evidence/auth/invalid_credential/index.html
+++ b/public/problems/registry-evidence/auth/invalid_credential/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/denied.json b/public/problems/registry-evidence/evidence/denied.json
index a636d98f..7a1fe112 100644
--- a/public/problems/registry-evidence/evidence/denied.json
+++ b/public/problems/registry-evidence/evidence/denied.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/denied/index.html b/public/problems/registry-evidence/evidence/denied/index.html
index 6943a569..def16c80 100644
--- a/public/problems/registry-evidence/evidence/denied/index.html
+++ b/public/problems/registry-evidence/evidence/denied/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/invalid_request.json b/public/problems/registry-evidence/evidence/invalid_request.json
index 8521dbce..a8e31def 100644
--- a/public/problems/registry-evidence/evidence/invalid_request.json
+++ b/public/problems/registry-evidence/evidence/invalid_request.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/invalid_request/index.html b/public/problems/registry-evidence/evidence/invalid_request/index.html
index eabe4975..aefb3b94 100644
--- a/public/problems/registry-evidence/evidence/invalid_request/index.html
+++ b/public/problems/registry-evidence/evidence/invalid_request/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/rate_limited.json b/public/problems/registry-evidence/evidence/rate_limited.json
index 71fda1cd..47954253 100644
--- a/public/problems/registry-evidence/evidence/rate_limited.json
+++ b/public/problems/registry-evidence/evidence/rate_limited.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/rate_limited/index.html b/public/problems/registry-evidence/evidence/rate_limited/index.html
index ef28feeb..2e66c8d2 100644
--- a/public/problems/registry-evidence/evidence/rate_limited/index.html
+++ b/public/problems/registry-evidence/evidence/rate_limited/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/unavailable.json b/public/problems/registry-evidence/evidence/unavailable.json
index fa11dc81..6e65d106 100644
--- a/public/problems/registry-evidence/evidence/unavailable.json
+++ b/public/problems/registry-evidence/evidence/unavailable.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/evidence/unavailable/index.html b/public/problems/registry-evidence/evidence/unavailable/index.html
index 6e6b70d3..3d9f2264 100644
--- a/public/problems/registry-evidence/evidence/unavailable/index.html
+++ b/public/problems/registry-evidence/evidence/unavailable/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/format/unsupported.json b/public/problems/registry-evidence/format/unsupported.json
index b838140e..9bcf56df 100644
--- a/public/problems/registry-evidence/format/unsupported.json
+++ b/public/problems/registry-evidence/format/unsupported.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/format/unsupported/index.html b/public/problems/registry-evidence/format/unsupported/index.html
index 902ab240..154322a2 100644
--- a/public/problems/registry-evidence/format/unsupported/index.html
+++ b/public/problems/registry-evidence/format/unsupported/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/request/selector_invalid.json b/public/problems/registry-evidence/request/selector_invalid.json
index 9157565d..a76e873b 100644
--- a/public/problems/registry-evidence/request/selector_invalid.json
+++ b/public/problems/registry-evidence/request/selector_invalid.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/request/selector_invalid/index.html b/public/problems/registry-evidence/request/selector_invalid/index.html
index 8dd26c90..0e38a69a 100644
--- a/public/problems/registry-evidence/request/selector_invalid/index.html
+++ b/public/problems/registry-evidence/request/selector_invalid/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/resource/not_found.json b/public/problems/registry-evidence/resource/not_found.json
index 5c5992b6..111d774b 100644
--- a/public/problems/registry-evidence/resource/not_found.json
+++ b/public/problems/registry-evidence/resource/not_found.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/resource/not_found/index.html b/public/problems/registry-evidence/resource/not_found/index.html
index 80da63b3..b5e64004 100644
--- a/public/problems/registry-evidence/resource/not_found/index.html
+++ b/public/problems/registry-evidence/resource/not_found/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/service/unavailable.json b/public/problems/registry-evidence/service/unavailable.json
index c506dfcf..0ac60541 100644
--- a/public/problems/registry-evidence/service/unavailable.json
+++ b/public/problems/registry-evidence/service/unavailable.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/service/unavailable/index.html b/public/problems/registry-evidence/service/unavailable/index.html
index 4df7bc7d..9d92b1ae 100644
--- a/public/problems/registry-evidence/service/unavailable/index.html
+++ b/public/problems/registry-evidence/service/unavailable/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/source/unavailable.json b/public/problems/registry-evidence/source/unavailable.json
index cf1726c0..3005ebb5 100644
--- a/public/problems/registry-evidence/source/unavailable.json
+++ b/public/problems/registry-evidence/source/unavailable.json
@@ -37,7 +37,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-evidence/source/unavailable/index.html b/public/problems/registry-evidence/source/unavailable/index.html
index cadf0c95..4f983111 100644
--- a/public/problems/registry-evidence/source/unavailable/index.html
+++ b/public/problems/registry-evidence/source/unavailable/index.html
@@ -114,7 +114,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-notary/admin/config_bundle_invalid.json b/public/problems/registry-notary/admin/config_bundle_invalid.json
new file mode 100644
index 00000000..7c77b77e
--- /dev/null
+++ b/public/problems/registry-notary/admin/config_bundle_invalid.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "admin.config_bundle_invalid",
+ "title": "config bundle is invalid",
+ "summary": "A submitted configuration bundle could not be validated.",
+ "description": "A submitted configuration bundle could not be validated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/admin/config_bundle_invalid/index.html b/public/problems/registry-notary/admin/config_bundle_invalid/index.html
new file mode 100644
index 00000000..61c9782f
--- /dev/null
+++ b/public/problems/registry-notary/admin/config_bundle_invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ config bundle is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
config bundle is invalid
+
A submitted configuration bundle could not be validated.
+
https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code admin.config_bundle_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/admin/config_bundle_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "admin.config_bundle_invalid",
+ "title": "config bundle is invalid",
+ "summary": "A submitted configuration bundle could not be validated.",
+ "description": "A submitted configuration bundle could not be validated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/audit/write_failed.json b/public/problems/registry-notary/audit/write_failed.json
new file mode 100644
index 00000000..49a965f0
--- /dev/null
+++ b/public/problems/registry-notary/audit/write_failed.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/audit/write_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/audit/write_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "audit.write_failed",
+ "title": "audit write failed",
+ "summary": "An audit record could not be written.",
+ "description": "An audit record could not be written.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/audit/write_failed/index.html b/public/problems/registry-notary/audit/write_failed/index.html
new file mode 100644
index 00000000..1eef2afd
--- /dev/null
+++ b/public/problems/registry-notary/audit/write_failed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ audit write failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
audit write failed
+
An audit record could not be written.
+
https://id.registrystack.org/problems/registry-notary/audit/write_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/audit/write_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code audit.write_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/audit/write_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/audit/write_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "audit.write_failed",
+ "title": "audit write failed",
+ "summary": "An audit record could not be written.",
+ "description": "An audit record could not be written.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/auth/missing_credential.json b/public/problems/registry-notary/auth/missing_credential.json
new file mode 100644
index 00000000..7d61ed92
--- /dev/null
+++ b/public/problems/registry-notary/auth/missing_credential.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/missing_credential",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/missing_credential",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.missing_credential",
+ "title": "credential is missing",
+ "summary": "No authentication credential was provided.",
+ "description": "No authentication credential was provided.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/auth/missing_credential/index.html b/public/problems/registry-notary/auth/missing_credential/index.html
new file mode 100644
index 00000000..c61dff0f
--- /dev/null
+++ b/public/problems/registry-notary/auth/missing_credential/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential is missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential is missing
+
No authentication credential was provided.
+
https://id.registrystack.org/problems/registry-notary/auth/missing_credential
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/auth/missing_credential
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code auth.missing_credential
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/missing_credential",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/missing_credential",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.missing_credential",
+ "title": "credential is missing",
+ "summary": "No authentication credential was provided.",
+ "description": "No authentication credential was provided.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/auth/multiple_credentials.json b/public/problems/registry-notary/auth/multiple_credentials.json
new file mode 100644
index 00000000..c45bc487
--- /dev/null
+++ b/public/problems/registry-notary/auth/multiple_credentials.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.multiple_credentials",
+ "title": "multiple authentication credentials were provided",
+ "summary": "More than one authentication credential was provided.",
+ "description": "More than one authentication credential was provided.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/auth/multiple_credentials/index.html b/public/problems/registry-notary/auth/multiple_credentials/index.html
new file mode 100644
index 00000000..b3831416
--- /dev/null
+++ b/public/problems/registry-notary/auth/multiple_credentials/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ multiple authentication credentials were provided | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
multiple authentication credentials were provided
+
More than one authentication credential was provided.
+
https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code auth.multiple_credentials
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/multiple_credentials",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.multiple_credentials",
+ "title": "multiple authentication credentials were provided",
+ "summary": "More than one authentication credential was provided.",
+ "description": "More than one authentication credential was provided.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/auth/purpose_required.json b/public/problems/registry-notary/auth/purpose_required.json
new file mode 100644
index 00000000..a9730c4d
--- /dev/null
+++ b/public/problems/registry-notary/auth/purpose_required.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/purpose_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/purpose_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.purpose_required",
+ "title": "purpose is required",
+ "summary": "The request omits a required purpose.",
+ "description": "The request omits a required purpose.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/auth/purpose_required/index.html b/public/problems/registry-notary/auth/purpose_required/index.html
new file mode 100644
index 00000000..ecd510cf
--- /dev/null
+++ b/public/problems/registry-notary/auth/purpose_required/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ purpose is required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
purpose is required
+
The request omits a required purpose.
+
https://id.registrystack.org/problems/registry-notary/auth/purpose_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/auth/purpose_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code auth.purpose_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/purpose_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/purpose_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.purpose_required",
+ "title": "purpose is required",
+ "summary": "The request omits a required purpose.",
+ "description": "The request omits a required purpose.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/auth/scope_denied.json b/public/problems/registry-notary/auth/scope_denied.json
new file mode 100644
index 00000000..1ec363f5
--- /dev/null
+++ b/public/problems/registry-notary/auth/scope_denied.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/scope_denied",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/scope_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.scope_denied",
+ "title": "required scope is missing",
+ "summary": "The caller's scopes do not include the required scope.",
+ "description": "The caller's scopes do not include the required scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/auth/scope_denied/index.html b/public/problems/registry-notary/auth/scope_denied/index.html
new file mode 100644
index 00000000..ce8d4af6
--- /dev/null
+++ b/public/problems/registry-notary/auth/scope_denied/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ required scope is missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
required scope is missing
+
The caller's scopes do not include the required scope.
+
https://id.registrystack.org/problems/registry-notary/auth/scope_denied
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/auth/scope_denied
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code auth.scope_denied
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/auth/scope_denied",
+ "type": "https://id.registrystack.org/problems/registry-notary/auth/scope_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "auth.scope_denied",
+ "title": "required scope is missing",
+ "summary": "The caller's scopes do not include the required scope.",
+ "description": "The caller's scopes do not include the required scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/batch/too_large.json b/public/problems/registry-notary/batch/too_large.json
new file mode 100644
index 00000000..1b73a5a6
--- /dev/null
+++ b/public/problems/registry-notary/batch/too_large.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/batch/too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/batch/too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "batch.too_large",
+ "title": "batch request is too large",
+ "summary": "The batch request exceeds the configured item limit.",
+ "description": "The batch request exceeds the configured item limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/batch/too_large/index.html b/public/problems/registry-notary/batch/too_large/index.html
new file mode 100644
index 00000000..83e4b9a2
--- /dev/null
+++ b/public/problems/registry-notary/batch/too_large/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ batch request is too large | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
batch request is too large
+
The batch request exceeds the configured item limit.
+
https://id.registrystack.org/problems/registry-notary/batch/too_large
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/batch/too_large
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code batch.too_large
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/batch/too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/batch/too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "batch.too_large",
+ "title": "batch request is too large",
+ "summary": "The batch request exceeds the configured item limit.",
+ "description": "The batch request exceeds the configured item limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/claim/disclosure_not_allowed.json b/public/problems/registry-notary/claim/disclosure_not_allowed.json
new file mode 100644
index 00000000..4396cf8c
--- /dev/null
+++ b/public/problems/registry-notary/claim/disclosure_not_allowed.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.disclosure_not_allowed",
+ "title": "requested disclosure is not allowed",
+ "summary": "The requested disclosure level is not permitted for the claim.",
+ "description": "The requested disclosure level is not permitted for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/claim/disclosure_not_allowed/index.html b/public/problems/registry-notary/claim/disclosure_not_allowed/index.html
new file mode 100644
index 00000000..956f00a1
--- /dev/null
+++ b/public/problems/registry-notary/claim/disclosure_not_allowed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ requested disclosure is not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
requested disclosure is not allowed
+
The requested disclosure level is not permitted for the claim.
+
https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code claim.disclosure_not_allowed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/disclosure_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.disclosure_not_allowed",
+ "title": "requested disclosure is not allowed",
+ "summary": "The requested disclosure level is not permitted for the claim.",
+ "description": "The requested disclosure level is not permitted for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/claim/format_not_supported.json b/public/problems/registry-notary/claim/format_not_supported.json
new file mode 100644
index 00000000..ce773267
--- /dev/null
+++ b/public/problems/registry-notary/claim/format_not_supported.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/format_not_supported",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/format_not_supported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.format_not_supported",
+ "title": "format is unsupported",
+ "summary": "The requested response format is not supported.",
+ "description": "The requested response format is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/claim/format_not_supported/index.html b/public/problems/registry-notary/claim/format_not_supported/index.html
new file mode 100644
index 00000000..785f2a17
--- /dev/null
+++ b/public/problems/registry-notary/claim/format_not_supported/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ format is unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
format is unsupported
+
The requested response format is not supported.
+
https://id.registrystack.org/problems/registry-notary/claim/format_not_supported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/claim/format_not_supported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code claim.format_not_supported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/format_not_supported",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/format_not_supported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.format_not_supported",
+ "title": "format is unsupported",
+ "summary": "The requested response format is not supported.",
+ "description": "The requested response format is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/claim/not_found.json b/public/problems/registry-notary/claim/not_found.json
new file mode 100644
index 00000000..a5173116
--- /dev/null
+++ b/public/problems/registry-notary/claim/not_found.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.not_found",
+ "title": "claim was not found",
+ "summary": "The requested claim id is not configured.",
+ "description": "The requested claim id is not configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/claim/not_found/index.html b/public/problems/registry-notary/claim/not_found/index.html
new file mode 100644
index 00000000..3f660cd5
--- /dev/null
+++ b/public/problems/registry-notary/claim/not_found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ claim was not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
claim was not found
+
The requested claim id is not configured.
+
https://id.registrystack.org/problems/registry-notary/claim/not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/claim/not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code claim.not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.not_found",
+ "title": "claim was not found",
+ "summary": "The requested claim id is not configured.",
+ "description": "The requested claim id is not configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/claim/operation_unsupported.json b/public/problems/registry-notary/claim/operation_unsupported.json
new file mode 100644
index 00000000..39364d68
--- /dev/null
+++ b/public/problems/registry-notary/claim/operation_unsupported.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.operation_unsupported",
+ "title": "claim operation is unsupported",
+ "summary": "The requested operation is not supported for the claim.",
+ "description": "The requested operation is not supported for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/claim/operation_unsupported/index.html b/public/problems/registry-notary/claim/operation_unsupported/index.html
new file mode 100644
index 00000000..6b61d43c
--- /dev/null
+++ b/public/problems/registry-notary/claim/operation_unsupported/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ claim operation is unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
claim operation is unsupported
+
The requested operation is not supported for the claim.
+
https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code claim.operation_unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/operation_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.operation_unsupported",
+ "title": "claim operation is unsupported",
+ "summary": "The requested operation is not supported for the claim.",
+ "description": "The requested operation is not supported for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/claim/rule_evaluation_failed.json b/public/problems/registry-notary/claim/rule_evaluation_failed.json
new file mode 100644
index 00000000..9bdbd181
--- /dev/null
+++ b/public/problems/registry-notary/claim/rule_evaluation_failed.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.rule_evaluation_failed",
+ "title": "claim rule evaluation failed",
+ "summary": "A configured claim rule could not be evaluated.",
+ "description": "A configured claim rule could not be evaluated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/claim/rule_evaluation_failed/index.html b/public/problems/registry-notary/claim/rule_evaluation_failed/index.html
new file mode 100644
index 00000000..b9c79e1d
--- /dev/null
+++ b/public/problems/registry-notary/claim/rule_evaluation_failed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ claim rule evaluation failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
claim rule evaluation failed
+
A configured claim rule could not be evaluated.
+
https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code claim.rule_evaluation_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/rule_evaluation_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.rule_evaluation_failed",
+ "title": "claim rule evaluation failed",
+ "summary": "A configured claim rule could not be evaluated.",
+ "description": "A configured claim rule could not be evaluated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/claim/version_not_found.json b/public/problems/registry-notary/claim/version_not_found.json
new file mode 100644
index 00000000..271a2d27
--- /dev/null
+++ b/public/problems/registry-notary/claim/version_not_found.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/version_not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/version_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.version_not_found",
+ "title": "claim version was not found",
+ "summary": "The requested claim version does not exist.",
+ "description": "The requested claim version does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/claim/version_not_found/index.html b/public/problems/registry-notary/claim/version_not_found/index.html
new file mode 100644
index 00000000..65452424
--- /dev/null
+++ b/public/problems/registry-notary/claim/version_not_found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ claim version was not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
claim version was not found
+
The requested claim version does not exist.
+
https://id.registrystack.org/problems/registry-notary/claim/version_not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/claim/version_not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code claim.version_not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/claim/version_not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/claim/version_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "claim.version_not_found",
+ "title": "claim version was not found",
+ "summary": "The requested claim version does not exist.",
+ "description": "The requested claim version does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/config/apply_unavailable.json b/public/problems/registry-notary/config/apply_unavailable.json
new file mode 100644
index 00000000..a2efefa6
--- /dev/null
+++ b/public/problems/registry-notary/config/apply_unavailable.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/config/apply_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/config/apply_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "config.apply_unavailable",
+ "title": "config apply is unavailable",
+ "summary": "Runtime configuration apply is not available for this deployment.",
+ "description": "Runtime configuration apply is not available for this deployment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/config/apply_unavailable/index.html b/public/problems/registry-notary/config/apply_unavailable/index.html
new file mode 100644
index 00000000..d7ebda51
--- /dev/null
+++ b/public/problems/registry-notary/config/apply_unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ config apply is unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
config apply is unavailable
+
Runtime configuration apply is not available for this deployment.
+
https://id.registrystack.org/problems/registry-notary/config/apply_unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/config/apply_unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code config.apply_unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/config/apply_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/config/apply_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "config.apply_unavailable",
+ "title": "config apply is unavailable",
+ "summary": "Runtime configuration apply is not available for this deployment.",
+ "description": "Runtime configuration apply is not available for this deployment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/config/candidate_invalid.json b/public/problems/registry-notary/config/candidate_invalid.json
new file mode 100644
index 00000000..8498d61f
--- /dev/null
+++ b/public/problems/registry-notary/config/candidate_invalid.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/config/candidate_invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/config/candidate_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "config.candidate_invalid",
+ "title": "config candidate is invalid",
+ "summary": "A submitted runtime configuration candidate failed validation.",
+ "description": "A submitted runtime configuration candidate failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/config/candidate_invalid/index.html b/public/problems/registry-notary/config/candidate_invalid/index.html
new file mode 100644
index 00000000..c476434f
--- /dev/null
+++ b/public/problems/registry-notary/config/candidate_invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ config candidate is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
config candidate is invalid
+
A submitted runtime configuration candidate failed validation.
+
https://id.registrystack.org/problems/registry-notary/config/candidate_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/config/candidate_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code config.candidate_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/config/candidate_invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/config/candidate_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "config.candidate_invalid",
+ "title": "config candidate is invalid",
+ "summary": "A submitted runtime configuration candidate failed validation.",
+ "description": "A submitted runtime configuration candidate failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential/holder_proof_replay.json b/public/problems/registry-notary/credential/holder_proof_replay.json
new file mode 100644
index 00000000..20e89d26
--- /dev/null
+++ b/public/problems/registry-notary/credential/holder_proof_replay.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.holder_proof_replay",
+ "title": "holder proof has already been used",
+ "summary": "The supplied holder proof was already consumed.",
+ "description": "The supplied holder proof was already consumed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential/holder_proof_replay/index.html b/public/problems/registry-notary/credential/holder_proof_replay/index.html
new file mode 100644
index 00000000..48d4c14e
--- /dev/null
+++ b/public/problems/registry-notary/credential/holder_proof_replay/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ holder proof has already been used | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
holder proof has already been used
+
The supplied holder proof was already consumed.
+
https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential.holder_proof_replay
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_replay",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.holder_proof_replay",
+ "title": "holder proof has already been used",
+ "summary": "The supplied holder proof was already consumed.",
+ "description": "The supplied holder proof was already consumed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential/holder_proof_required.json b/public/problems/registry-notary/credential/holder_proof_required.json
new file mode 100644
index 00000000..45a10ed6
--- /dev/null
+++ b/public/problems/registry-notary/credential/holder_proof_required.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.holder_proof_required",
+ "title": "holder proof is required",
+ "summary": "Credential issuance requires a holder proof that was not supplied.",
+ "description": "Credential issuance requires a holder proof that was not supplied.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential/holder_proof_required/index.html b/public/problems/registry-notary/credential/holder_proof_required/index.html
new file mode 100644
index 00000000..61373103
--- /dev/null
+++ b/public/problems/registry-notary/credential/holder_proof_required/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ holder proof is required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
holder proof is required
+
Credential issuance requires a holder proof that was not supplied.
+
https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential.holder_proof_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/holder_proof_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.holder_proof_required",
+ "title": "holder proof is required",
+ "summary": "Credential issuance requires a holder proof that was not supplied.",
+ "description": "Credential issuance requires a holder proof that was not supplied.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential/issuance_failed.json b/public/problems/registry-notary/credential/issuance_failed.json
new file mode 100644
index 00000000..bcd8ceb4
--- /dev/null
+++ b/public/problems/registry-notary/credential/issuance_failed.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/issuance_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/issuance_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.issuance_failed",
+ "title": "credential issuance failed",
+ "summary": "The credential could not be issued for an internal reason.",
+ "description": "The credential could not be issued for an internal reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential/issuance_failed/index.html b/public/problems/registry-notary/credential/issuance_failed/index.html
new file mode 100644
index 00000000..da90dee8
--- /dev/null
+++ b/public/problems/registry-notary/credential/issuance_failed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential issuance failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential issuance failed
+
The credential could not be issued for an internal reason.
+
https://id.registrystack.org/problems/registry-notary/credential/issuance_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential/issuance_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential.issuance_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/issuance_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/issuance_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.issuance_failed",
+ "title": "credential issuance failed",
+ "summary": "The credential could not be issued for an internal reason.",
+ "description": "The credential could not be issued for an internal reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential/issuer_not_configured.json b/public/problems/registry-notary/credential/issuer_not_configured.json
new file mode 100644
index 00000000..9e2b4ee1
--- /dev/null
+++ b/public/problems/registry-notary/credential/issuer_not_configured.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.issuer_not_configured",
+ "title": "credential issuer is not configured",
+ "summary": "Credential issuance was requested but no issuer is configured.",
+ "description": "Credential issuance was requested but no issuer is configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential/issuer_not_configured/index.html b/public/problems/registry-notary/credential/issuer_not_configured/index.html
new file mode 100644
index 00000000..56e17745
--- /dev/null
+++ b/public/problems/registry-notary/credential/issuer_not_configured/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential issuer is not configured | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential issuer is not configured
+
Credential issuance was requested but no issuer is configured.
+
https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential.issuer_not_configured
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential/issuer_not_configured",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential.issuer_not_configured",
+ "title": "credential issuer is not configured",
+ "summary": "Credential issuance was requested but no issuer is configured.",
+ "description": "Credential issuance was requested but no issuer is configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential_status/disabled.json b/public/problems/registry-notary/credential_status/disabled.json
new file mode 100644
index 00000000..5e856ef1
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/disabled.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.disabled",
+ "title": "credential status is disabled",
+ "summary": "The credential status surface is turned off for this deployment.",
+ "description": "The credential status surface is turned off for this deployment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential_status/disabled/index.html b/public/problems/registry-notary/credential_status/disabled/index.html
new file mode 100644
index 00000000..ee3d9b64
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/disabled/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential status is disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential status is disabled
+
The credential status surface is turned off for this deployment.
+
https://id.registrystack.org/problems/registry-notary/credential_status/disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential_status/disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential_status.disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.disabled",
+ "title": "credential status is disabled",
+ "summary": "The credential status surface is turned off for this deployment.",
+ "description": "The credential status surface is turned off for this deployment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential_status/invalid_status.json b/public/problems/registry-notary/credential_status/invalid_status.json
new file mode 100644
index 00000000..2cce2690
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/invalid_status.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.invalid_status",
+ "title": "credential status is invalid",
+ "summary": "The requested credential status value is not valid.",
+ "description": "The requested credential status value is not valid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential_status/invalid_status/index.html b/public/problems/registry-notary/credential_status/invalid_status/index.html
new file mode 100644
index 00000000..6f36d1f6
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/invalid_status/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential status is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential status is invalid
+
The requested credential status value is not valid.
+
https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential_status.invalid_status
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_status",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.invalid_status",
+ "title": "credential status is invalid",
+ "summary": "The requested credential status value is not valid.",
+ "description": "The requested credential status value is not valid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential_status/invalid_transition.json b/public/problems/registry-notary/credential_status/invalid_transition.json
new file mode 100644
index 00000000..092c1d65
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/invalid_transition.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.invalid_transition",
+ "title": "credential status transition is invalid",
+ "summary": "The requested status transition is not permitted.",
+ "description": "The requested status transition is not permitted.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential_status/invalid_transition/index.html b/public/problems/registry-notary/credential_status/invalid_transition/index.html
new file mode 100644
index 00000000..3f97b31e
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/invalid_transition/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential status transition is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential status transition is invalid
+
The requested status transition is not permitted.
+
https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential_status.invalid_transition
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/invalid_transition",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.invalid_transition",
+ "title": "credential status transition is invalid",
+ "summary": "The requested status transition is not permitted.",
+ "description": "The requested status transition is not permitted.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential_status/not_found.json b/public/problems/registry-notary/credential_status/not_found.json
new file mode 100644
index 00000000..b1ffb559
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/not_found.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.not_found",
+ "title": "credential status was not found",
+ "summary": "The requested credential status record does not exist.",
+ "description": "The requested credential status record does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential_status/not_found/index.html b/public/problems/registry-notary/credential_status/not_found/index.html
new file mode 100644
index 00000000..034d54f6
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/not_found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential status was not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential status was not found
+
The requested credential status record does not exist.
+
https://id.registrystack.org/problems/registry-notary/credential_status/not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential_status/not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential_status.not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.not_found",
+ "title": "credential status was not found",
+ "summary": "The requested credential status record does not exist.",
+ "description": "The requested credential status record does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/credential_status/unavailable.json b/public/problems/registry-notary/credential_status/unavailable.json
new file mode 100644
index 00000000..77ffe3ee
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/unavailable.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.unavailable",
+ "title": "credential status is unavailable",
+ "summary": "Credential status could not be checked at this time.",
+ "description": "Credential status could not be checked at this time.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/credential_status/unavailable/index.html b/public/problems/registry-notary/credential_status/unavailable/index.html
new file mode 100644
index 00000000..56c40e7a
--- /dev/null
+++ b/public/problems/registry-notary/credential_status/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ credential status is unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
credential status is unavailable
+
Credential status could not be checked at this time.
+
https://id.registrystack.org/problems/registry-notary/credential_status/unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/credential_status/unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code credential_status.unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/credential_status/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/credential_status/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "credential_status.unavailable",
+ "title": "credential status is unavailable",
+ "summary": "Credential status could not be checked at this time.",
+ "description": "Credential status could not be checked at this time.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/evaluation/binding_mismatch.json b/public/problems/registry-notary/evaluation/binding_mismatch.json
new file mode 100644
index 00000000..17c03006
--- /dev/null
+++ b/public/problems/registry-notary/evaluation/binding_mismatch.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evaluation.binding_mismatch",
+ "title": "evaluation binding mismatch",
+ "summary": "The referenced evaluation does not match the requested binding.",
+ "description": "The referenced evaluation does not match the requested binding.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/evaluation/binding_mismatch/index.html b/public/problems/registry-notary/evaluation/binding_mismatch/index.html
new file mode 100644
index 00000000..4956d289
--- /dev/null
+++ b/public/problems/registry-notary/evaluation/binding_mismatch/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ evaluation binding mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
evaluation binding mismatch
+
The referenced evaluation does not match the requested binding.
+
https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code evaluation.binding_mismatch
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-notary/evaluation/binding_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evaluation.binding_mismatch",
+ "title": "evaluation binding mismatch",
+ "summary": "The referenced evaluation does not match the requested binding.",
+ "description": "The referenced evaluation does not match the requested binding.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/evaluation/not_found.json b/public/problems/registry-notary/evaluation/not_found.json
new file mode 100644
index 00000000..0051b3fa
--- /dev/null
+++ b/public/problems/registry-notary/evaluation/not_found.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/evaluation/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/evaluation/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evaluation.not_found",
+ "title": "evaluation was not found",
+ "summary": "The referenced evaluation id does not exist.",
+ "description": "The referenced evaluation id does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/evaluation/not_found/index.html b/public/problems/registry-notary/evaluation/not_found/index.html
new file mode 100644
index 00000000..262d399d
--- /dev/null
+++ b/public/problems/registry-notary/evaluation/not_found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ evaluation was not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
evaluation was not found
+
The referenced evaluation id does not exist.
+
https://id.registrystack.org/problems/registry-notary/evaluation/not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/evaluation/not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code evaluation.not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evaluation/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/evaluation/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evaluation.not_found",
+ "title": "evaluation was not found",
+ "summary": "The referenced evaluation id does not exist.",
+ "description": "The referenced evaluation id does not exist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/evidence/not_available.json b/public/problems/registry-notary/evidence/not_available.json
new file mode 100644
index 00000000..27f2afdb
--- /dev/null
+++ b/public/problems/registry-notary/evidence/not_available.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/evidence/not_available",
+ "type": "https://id.registrystack.org/problems/registry-notary/evidence/not_available",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evidence.not_available",
+ "title": "evidence is not available",
+ "summary": "Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.",
+ "description": "Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/evidence/not_available/index.html b/public/problems/registry-notary/evidence/not_available/index.html
new file mode 100644
index 00000000..b7ce951d
--- /dev/null
+++ b/public/problems/registry-notary/evidence/not_available/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ evidence is not available | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
evidence is not available
+
Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.
+
https://id.registrystack.org/problems/registry-notary/evidence/not_available
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/evidence/not_available
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code evidence.not_available
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evidence/not_available",
+ "type": "https://id.registrystack.org/problems/registry-notary/evidence/not_available",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evidence.not_available",
+ "title": "evidence is not available",
+ "summary": "Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.",
+ "description": "Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/evidence/server_disabled.json b/public/problems/registry-notary/evidence/server_disabled.json
new file mode 100644
index 00000000..822db446
--- /dev/null
+++ b/public/problems/registry-notary/evidence/server_disabled.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/evidence/server_disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/evidence/server_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evidence.server_disabled",
+ "title": "evidence server is disabled",
+ "summary": "The evidence surface is turned off in configuration.",
+ "description": "The evidence surface is turned off in configuration.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/evidence/server_disabled/index.html b/public/problems/registry-notary/evidence/server_disabled/index.html
new file mode 100644
index 00000000..e7c0a051
--- /dev/null
+++ b/public/problems/registry-notary/evidence/server_disabled/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ evidence server is disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
evidence server is disabled
+
The evidence surface is turned off in configuration.
+
https://id.registrystack.org/problems/registry-notary/evidence/server_disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/evidence/server_disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code evidence.server_disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/evidence/server_disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/evidence/server_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "evidence.server_disabled",
+ "title": "evidence server is disabled",
+ "summary": "The evidence surface is turned off in configuration.",
+ "description": "The evidence surface is turned off in configuration.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/disabled.json b/public/problems/registry-notary/federation/disabled.json
new file mode 100644
index 00000000..5df8e341
--- /dev/null
+++ b/public/problems/registry-notary/federation/disabled.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.disabled",
+ "title": "federation is disabled",
+ "summary": "The federation surface is turned off in configuration.",
+ "description": "The federation surface is turned off in configuration.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/disabled/index.html b/public/problems/registry-notary/federation/disabled/index.html
new file mode 100644
index 00000000..be2e2a04
--- /dev/null
+++ b/public/problems/registry-notary/federation/disabled/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation is disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation is disabled
+
The federation surface is turned off in configuration.
+
https://id.registrystack.org/problems/registry-notary/federation/disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/disabled",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.disabled",
+ "title": "federation is disabled",
+ "summary": "The federation surface is turned off in configuration.",
+ "description": "The federation surface is turned off in configuration.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/forbidden.json b/public/problems/registry-notary/federation/forbidden.json
new file mode 100644
index 00000000..cb0745bb
--- /dev/null
+++ b/public/problems/registry-notary/federation/forbidden.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/forbidden",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/forbidden",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.forbidden",
+ "title": "federation request is forbidden",
+ "summary": "A known federation peer was denied by local policy.",
+ "description": "A known federation peer was denied by local policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/forbidden/index.html b/public/problems/registry-notary/federation/forbidden/index.html
new file mode 100644
index 00000000..276542ec
--- /dev/null
+++ b/public/problems/registry-notary/federation/forbidden/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation request is forbidden | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation request is forbidden
+
A known federation peer was denied by local policy.
+
https://id.registrystack.org/problems/registry-notary/federation/forbidden
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/forbidden
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.forbidden
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/forbidden",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/forbidden",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.forbidden",
+ "title": "federation request is forbidden",
+ "summary": "A known federation peer was denied by local policy.",
+ "description": "A known federation peer was denied by local policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/invalid_request.json b/public/problems/registry-notary/federation/invalid_request.json
new file mode 100644
index 00000000..5c4219e6
--- /dev/null
+++ b/public/problems/registry-notary/federation/invalid_request.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/invalid_request",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/invalid_request",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.invalid_request",
+ "title": "federation request is invalid",
+ "summary": "A federation JSON or JWT request failed validation.",
+ "description": "A federation JSON or JWT request failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/invalid_request/index.html b/public/problems/registry-notary/federation/invalid_request/index.html
new file mode 100644
index 00000000..9caf53e3
--- /dev/null
+++ b/public/problems/registry-notary/federation/invalid_request/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation request is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation request is invalid
+
A federation JSON or JWT request failed validation.
+
https://id.registrystack.org/problems/registry-notary/federation/invalid_request
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/invalid_request
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.invalid_request
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/invalid_request",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/invalid_request",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.invalid_request",
+ "title": "federation request is invalid",
+ "summary": "A federation JSON or JWT request failed validation.",
+ "description": "A federation JSON or JWT request failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/invalid_token.json b/public/problems/registry-notary/federation/invalid_token.json
new file mode 100644
index 00000000..60d993dd
--- /dev/null
+++ b/public/problems/registry-notary/federation/invalid_token.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/invalid_token",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/invalid_token",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.invalid_token",
+ "title": "federation token is invalid",
+ "summary": "A federation request is missing valid authentication or its token failed verification.",
+ "description": "A federation request is missing valid authentication or its token failed verification.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/invalid_token/index.html b/public/problems/registry-notary/federation/invalid_token/index.html
new file mode 100644
index 00000000..c617ead1
--- /dev/null
+++ b/public/problems/registry-notary/federation/invalid_token/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation token is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation token is invalid
+
A federation request is missing valid authentication or its token failed verification.
+
https://id.registrystack.org/problems/registry-notary/federation/invalid_token
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/invalid_token
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.invalid_token
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/invalid_token",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/invalid_token",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.invalid_token",
+ "title": "federation token is invalid",
+ "summary": "A federation request is missing valid authentication or its token failed verification.",
+ "description": "A federation request is missing valid authentication or its token failed verification.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/payload_too_large.json b/public/problems/registry-notary/federation/payload_too_large.json
new file mode 100644
index 00000000..51e431f8
--- /dev/null
+++ b/public/problems/registry-notary/federation/payload_too_large.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/payload_too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/payload_too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.payload_too_large",
+ "title": "federation payload is too large",
+ "summary": "The federation request body exceeds the configured limit.",
+ "description": "The federation request body exceeds the configured limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/payload_too_large/index.html b/public/problems/registry-notary/federation/payload_too_large/index.html
new file mode 100644
index 00000000..cb5bc8ec
--- /dev/null
+++ b/public/problems/registry-notary/federation/payload_too_large/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation payload is too large | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation payload is too large
+
The federation request body exceeds the configured limit.
+
https://id.registrystack.org/problems/registry-notary/federation/payload_too_large
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/payload_too_large
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.payload_too_large
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/payload_too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/payload_too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.payload_too_large",
+ "title": "federation payload is too large",
+ "summary": "The federation request body exceeds the configured limit.",
+ "description": "The federation request body exceeds the configured limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/replay.json b/public/problems/registry-notary/federation/replay.json
new file mode 100644
index 00000000..73dd884c
--- /dev/null
+++ b/public/problems/registry-notary/federation/replay.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/replay",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/replay",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.replay",
+ "title": "federation request was replayed",
+ "summary": "A federation `jti` or nonce was already used.",
+ "description": "A federation `jti` or nonce was already used.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/replay/index.html b/public/problems/registry-notary/federation/replay/index.html
new file mode 100644
index 00000000..7cc284d3
--- /dev/null
+++ b/public/problems/registry-notary/federation/replay/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation request was replayed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation request was replayed
+
A federation `jti` or nonce was already used.
+
https://id.registrystack.org/problems/registry-notary/federation/replay
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/replay
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.replay
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/replay",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/replay",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.replay",
+ "title": "federation request was replayed",
+ "summary": "A federation `jti` or nonce was already used.",
+ "description": "A federation `jti` or nonce was already used.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/server_error.json b/public/problems/registry-notary/federation/server_error.json
new file mode 100644
index 00000000..c4bc162a
--- /dev/null
+++ b/public/problems/registry-notary/federation/server_error.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/server_error",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/server_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.server_error",
+ "title": "federation server error",
+ "summary": "The federation request could not be served for an internal reason.",
+ "description": "The federation request could not be served for an internal reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/server_error/index.html b/public/problems/registry-notary/federation/server_error/index.html
new file mode 100644
index 00000000..fc25c0f1
--- /dev/null
+++ b/public/problems/registry-notary/federation/server_error/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation server error | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation server error
+
The federation request could not be served for an internal reason.
+
https://id.registrystack.org/problems/registry-notary/federation/server_error
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/server_error
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.server_error
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/server_error",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/server_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.server_error",
+ "title": "federation server error",
+ "summary": "The federation request could not be served for an internal reason.",
+ "description": "The federation request could not be served for an internal reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/stale_source_observation.json b/public/problems/registry-notary/federation/stale_source_observation.json
new file mode 100644
index 00000000..f7160b4a
--- /dev/null
+++ b/public/problems/registry-notary/federation/stale_source_observation.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.stale_source_observation",
+ "title": "federation source observation is stale",
+ "summary": "The federation source observation is older than policy allows; returned in a signed response body.",
+ "description": "The federation source observation is older than policy allows; returned in a signed response body.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/stale_source_observation/index.html b/public/problems/registry-notary/federation/stale_source_observation/index.html
new file mode 100644
index 00000000..ea8cccce
--- /dev/null
+++ b/public/problems/registry-notary/federation/stale_source_observation/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation source observation is stale | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation source observation is stale
+
The federation source observation is older than policy allows; returned in a signed response body.
+
https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.stale_source_observation
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/stale_source_observation",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.stale_source_observation",
+ "title": "federation source observation is stale",
+ "summary": "The federation source observation is older than policy allows; returned in a signed response body.",
+ "description": "The federation source observation is older than policy allows; returned in a signed response body.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/federation/unsupported_media_type.json b/public/problems/registry-notary/federation/unsupported_media_type.json
new file mode 100644
index 00000000..e2954d4f
--- /dev/null
+++ b/public/problems/registry-notary/federation/unsupported_media_type.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.unsupported_media_type",
+ "title": "federation media type is unsupported",
+ "summary": "The federation request used a content type the surface does not accept.",
+ "description": "The federation request used a content type the surface does not accept.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/federation/unsupported_media_type/index.html b/public/problems/registry-notary/federation/unsupported_media_type/index.html
new file mode 100644
index 00000000..85dc31e5
--- /dev/null
+++ b/public/problems/registry-notary/federation/unsupported_media_type/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ federation media type is unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
federation media type is unsupported
+
The federation request used a content type the surface does not accept.
+
https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code federation.unsupported_media_type
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type",
+ "type": "https://id.registrystack.org/problems/registry-notary/federation/unsupported_media_type",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "federation.unsupported_media_type",
+ "title": "federation media type is unsupported",
+ "summary": "The federation request used a content type the surface does not accept.",
+ "description": "The federation request used a content type the surface does not accept.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/idempotency/conflict.json b/public/problems/registry-notary/idempotency/conflict.json
new file mode 100644
index 00000000..5d46b631
--- /dev/null
+++ b/public/problems/registry-notary/idempotency/conflict.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/idempotency/conflict",
+ "type": "https://id.registrystack.org/problems/registry-notary/idempotency/conflict",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "idempotency.conflict",
+ "title": "idempotency key was reused with a different request",
+ "summary": "The idempotency key was reused with a different request body.",
+ "description": "The idempotency key was reused with a different request body.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/idempotency/conflict/index.html b/public/problems/registry-notary/idempotency/conflict/index.html
new file mode 100644
index 00000000..ea60d5e1
--- /dev/null
+++ b/public/problems/registry-notary/idempotency/conflict/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ idempotency key was reused with a different request | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
idempotency key was reused with a different request
+
The idempotency key was reused with a different request body.
+
https://id.registrystack.org/problems/registry-notary/idempotency/conflict
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/idempotency/conflict
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code idempotency.conflict
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/idempotency/conflict",
+ "type": "https://id.registrystack.org/problems/registry-notary/idempotency/conflict",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "idempotency.conflict",
+ "title": "idempotency key was reused with a different request",
+ "summary": "The idempotency key was reused with a different request body.",
+ "description": "The idempotency key was reused with a different request body.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/posture/filter_failed.json b/public/problems/registry-notary/posture/filter_failed.json
new file mode 100644
index 00000000..ab7d3247
--- /dev/null
+++ b/public/problems/registry-notary/posture/filter_failed.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/posture/filter_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/posture/filter_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "posture.filter_failed",
+ "title": "posture filter failed",
+ "summary": "A posture report filter could not be evaluated.",
+ "description": "A posture report filter could not be evaluated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/posture/filter_failed/index.html b/public/problems/registry-notary/posture/filter_failed/index.html
new file mode 100644
index 00000000..d3e043b7
--- /dev/null
+++ b/public/problems/registry-notary/posture/filter_failed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ posture filter failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
posture filter failed
+
A posture report filter could not be evaluated.
+
https://id.registrystack.org/problems/registry-notary/posture/filter_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/posture/filter_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code posture.filter_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/posture/filter_failed",
+ "type": "https://id.registrystack.org/problems/registry-notary/posture/filter_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "posture.filter_failed",
+ "title": "posture filter failed",
+ "summary": "A posture report filter could not be evaluated.",
+ "description": "A posture report filter could not be evaluated.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/posture/unavailable.json b/public/problems/registry-notary/posture/unavailable.json
new file mode 100644
index 00000000..0b37d283
--- /dev/null
+++ b/public/problems/registry-notary/posture/unavailable.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/posture/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/posture/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "posture.unavailable",
+ "title": "posture state is unavailable",
+ "summary": "Posture state could not be read at this time.",
+ "description": "Posture state could not be read at this time.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/posture/unavailable/index.html b/public/problems/registry-notary/posture/unavailable/index.html
new file mode 100644
index 00000000..6087344d
--- /dev/null
+++ b/public/problems/registry-notary/posture/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ posture state is unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
posture state is unavailable
+
Posture state could not be read at this time.
+
https://id.registrystack.org/problems/registry-notary/posture/unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/posture/unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code posture.unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/posture/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/posture/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "posture.unavailable",
+ "title": "posture state is unavailable",
+ "summary": "Posture state could not be read at this time.",
+ "description": "Posture state could not be read at this time.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/profile/unsupported.json b/public/problems/registry-notary/profile/unsupported.json
new file mode 100644
index 00000000..95ef1cc7
--- /dev/null
+++ b/public/problems/registry-notary/profile/unsupported.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/profile/unsupported",
+ "type": "https://id.registrystack.org/problems/registry-notary/profile/unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "profile.unsupported",
+ "title": "evidence request profile is unsupported",
+ "summary": "The requested evidence profile is not supported.",
+ "description": "The requested evidence profile is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/profile/unsupported/index.html b/public/problems/registry-notary/profile/unsupported/index.html
new file mode 100644
index 00000000..ed30c72c
--- /dev/null
+++ b/public/problems/registry-notary/profile/unsupported/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ evidence request profile is unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
evidence request profile is unsupported
+
The requested evidence profile is not supported.
+
https://id.registrystack.org/problems/registry-notary/profile/unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/profile/unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code profile.unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/profile/unsupported",
+ "type": "https://id.registrystack.org/problems/registry-notary/profile/unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "profile.unsupported",
+ "title": "evidence request profile is unsupported",
+ "summary": "The requested evidence profile is not supported.",
+ "description": "The requested evidence profile is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/purpose/not_allowed.json b/public/problems/registry-notary/purpose/not_allowed.json
new file mode 100644
index 00000000..27eeeebe
--- /dev/null
+++ b/public/problems/registry-notary/purpose/not_allowed.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/purpose/not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/purpose/not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "purpose.not_allowed",
+ "title": "purpose is not allowed",
+ "summary": "The requested purpose is not permitted for the claim.",
+ "description": "The requested purpose is not permitted for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/purpose/not_allowed/index.html b/public/problems/registry-notary/purpose/not_allowed/index.html
new file mode 100644
index 00000000..e776c95e
--- /dev/null
+++ b/public/problems/registry-notary/purpose/not_allowed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ purpose is not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
purpose is not allowed
+
The requested purpose is not permitted for the claim.
+
https://id.registrystack.org/problems/registry-notary/purpose/not_allowed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/purpose/not_allowed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code purpose.not_allowed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/purpose/not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/purpose/not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "purpose.not_allowed",
+ "title": "purpose is not allowed",
+ "summary": "The requested purpose is not permitted for the claim.",
+ "description": "The requested purpose is not permitted for the claim.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/readiness/not_ready.json b/public/problems/registry-notary/readiness/not_ready.json
new file mode 100644
index 00000000..8f851d89
--- /dev/null
+++ b/public/problems/registry-notary/readiness/not_ready.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/readiness/not_ready",
+ "type": "https://id.registrystack.org/problems/registry-notary/readiness/not_ready",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "readiness.not_ready",
+ "title": "service is not ready",
+ "summary": "The service is not ready to serve traffic.",
+ "description": "The service is not ready to serve traffic.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/readiness/not_ready/index.html b/public/problems/registry-notary/readiness/not_ready/index.html
new file mode 100644
index 00000000..46d34561
--- /dev/null
+++ b/public/problems/registry-notary/readiness/not_ready/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ service is not ready | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
service is not ready
+
The service is not ready to serve traffic.
+
https://id.registrystack.org/problems/registry-notary/readiness/not_ready
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/readiness/not_ready
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code readiness.not_ready
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/readiness/not_ready",
+ "type": "https://id.registrystack.org/problems/registry-notary/readiness/not_ready",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "readiness.not_ready",
+ "title": "service is not ready",
+ "summary": "The service is not ready to serve traffic.",
+ "description": "The service is not ready to serve traffic.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/registry/admin/capability/not_supported.json b/public/problems/registry-notary/registry/admin/capability/not_supported.json
new file mode 100644
index 00000000..1e5c3491
--- /dev/null
+++ b/public/problems/registry-notary/registry/admin/capability/not_supported.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.capability.not_supported",
+ "title": "registry admin capability is not supported",
+ "summary": "The requested registry administration capability is not supported.",
+ "description": "The requested registry administration capability is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/registry/admin/capability/not_supported/index.html b/public/problems/registry-notary/registry/admin/capability/not_supported/index.html
new file mode 100644
index 00000000..fa97d67a
--- /dev/null
+++ b/public/problems/registry-notary/registry/admin/capability/not_supported/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ registry admin capability is not supported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
registry admin capability is not supported
+
The requested registry administration capability is not supported.
+
https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code registry.admin.capability.not_supported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/capability/not_supported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.capability.not_supported",
+ "title": "registry admin capability is not supported",
+ "summary": "The requested registry administration capability is not supported.",
+ "description": "The requested registry administration capability is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/registry/admin/config/inline_apply_rejected.json b/public/problems/registry-notary/registry/admin/config/inline_apply_rejected.json
new file mode 100644
index 00000000..53b0bb61
--- /dev/null
+++ b/public/problems/registry-notary/registry/admin/config/inline_apply_rejected.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.config.inline_apply_rejected",
+ "title": "registry admin inline config apply was rejected",
+ "summary": "An inline configuration apply was rejected.",
+ "description": "An inline configuration apply was rejected.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/registry/admin/config/inline_apply_rejected/index.html b/public/problems/registry-notary/registry/admin/config/inline_apply_rejected/index.html
new file mode 100644
index 00000000..7d8c3386
--- /dev/null
+++ b/public/problems/registry-notary/registry/admin/config/inline_apply_rejected/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ registry admin inline config apply was rejected | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
registry admin inline config apply was rejected
+
An inline configuration apply was rejected.
+
https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code registry.admin.config.inline_apply_rejected
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/config/inline_apply_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.config.inline_apply_rejected",
+ "title": "registry admin inline config apply was rejected",
+ "summary": "An inline configuration apply was rejected.",
+ "description": "An inline configuration apply was rejected.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/registry/admin/posture/invalid_tier.json b/public/problems/registry-notary/registry/admin/posture/invalid_tier.json
new file mode 100644
index 00000000..f2e970f7
--- /dev/null
+++ b/public/problems/registry-notary/registry/admin/posture/invalid_tier.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.posture.invalid_tier",
+ "title": "registry admin posture tier is invalid",
+ "summary": "The requested posture tier is not a recognized value.",
+ "description": "The requested posture tier is not a recognized value.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/registry/admin/posture/invalid_tier/index.html b/public/problems/registry-notary/registry/admin/posture/invalid_tier/index.html
new file mode 100644
index 00000000..04784017
--- /dev/null
+++ b/public/problems/registry-notary/registry/admin/posture/invalid_tier/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ registry admin posture tier is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
registry admin posture tier is invalid
+
The requested posture tier is not a recognized value.
+
https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code registry.admin.posture.invalid_tier
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier",
+ "type": "https://id.registrystack.org/problems/registry-notary/registry/admin/posture/invalid_tier",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "registry.admin.posture.invalid_tier",
+ "title": "registry admin posture tier is invalid",
+ "summary": "The requested posture tier is not a recognized value.",
+ "description": "The requested posture tier is not a recognized value.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/relationship/attributes_insufficient.json b/public/problems/registry-notary/relationship/attributes_insufficient.json
new file mode 100644
index 00000000..2e80f145
--- /dev/null
+++ b/public/problems/registry-notary/relationship/attributes_insufficient.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.attributes_insufficient",
+ "title": "relationship attributes are insufficient for matching",
+ "summary": "The supplied attributes cannot resolve a relationship match.",
+ "description": "The supplied attributes cannot resolve a relationship match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/relationship/attributes_insufficient/index.html b/public/problems/registry-notary/relationship/attributes_insufficient/index.html
new file mode 100644
index 00000000..e0b58552
--- /dev/null
+++ b/public/problems/registry-notary/relationship/attributes_insufficient/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ relationship attributes are insufficient for matching | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
relationship attributes are insufficient for matching
+
The supplied attributes cannot resolve a relationship match.
+
https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code relationship.attributes_insufficient
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.attributes_insufficient",
+ "title": "relationship attributes are insufficient for matching",
+ "summary": "The supplied attributes cannot resolve a relationship match.",
+ "description": "The supplied attributes cannot resolve a relationship match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/relationship/match_ambiguous.json b/public/problems/registry-notary/relationship/match_ambiguous.json
new file mode 100644
index 00000000..aaa7725f
--- /dev/null
+++ b/public/problems/registry-notary/relationship/match_ambiguous.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.match_ambiguous",
+ "title": "relationship match is ambiguous",
+ "summary": "The relationship lookup matched more than one relationship.",
+ "description": "The relationship lookup matched more than one relationship.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/relationship/match_ambiguous/index.html b/public/problems/registry-notary/relationship/match_ambiguous/index.html
new file mode 100644
index 00000000..e345f856
--- /dev/null
+++ b/public/problems/registry-notary/relationship/match_ambiguous/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ relationship match is ambiguous | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
relationship match is ambiguous
+
The relationship lookup matched more than one relationship.
+
https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code relationship.match_ambiguous
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.match_ambiguous",
+ "title": "relationship match is ambiguous",
+ "summary": "The relationship lookup matched more than one relationship.",
+ "description": "The relationship lookup matched more than one relationship.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/relationship/not_established.json b/public/problems/registry-notary/relationship/not_established.json
new file mode 100644
index 00000000..d270483b
--- /dev/null
+++ b/public/problems/registry-notary/relationship/not_established.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/not_established",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/not_established",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.not_established",
+ "title": "relationship was not established",
+ "summary": "The required relationship between requester and target was not found.",
+ "description": "The required relationship between requester and target was not found.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/relationship/not_established/index.html b/public/problems/registry-notary/relationship/not_established/index.html
new file mode 100644
index 00000000..a6c59839
--- /dev/null
+++ b/public/problems/registry-notary/relationship/not_established/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ relationship was not established | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
relationship was not established
+
The required relationship between requester and target was not found.
+
https://id.registrystack.org/problems/registry-notary/relationship/not_established
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/relationship/not_established
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code relationship.not_established
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/not_established",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/not_established",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.not_established",
+ "title": "relationship was not established",
+ "summary": "The required relationship between requester and target was not found.",
+ "description": "The required relationship between requester and target was not found.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/relationship/policy_rejected.json b/public/problems/registry-notary/relationship/policy_rejected.json
new file mode 100644
index 00000000..603aeee2
--- /dev/null
+++ b/public/problems/registry-notary/relationship/policy_rejected.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.policy_rejected",
+ "title": "relationship policy rejected the request",
+ "summary": "The relationship policy denied the request.",
+ "description": "The relationship policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/relationship/policy_rejected/index.html b/public/problems/registry-notary/relationship/policy_rejected/index.html
new file mode 100644
index 00000000..55b8c745
--- /dev/null
+++ b/public/problems/registry-notary/relationship/policy_rejected/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ relationship policy rejected the request | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
relationship policy rejected the request
+
The relationship policy denied the request.
+
https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code relationship.policy_rejected
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.policy_rejected",
+ "title": "relationship policy rejected the request",
+ "summary": "The relationship policy denied the request.",
+ "description": "The relationship policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/relationship/purpose_not_allowed.json b/public/problems/registry-notary/relationship/purpose_not_allowed.json
new file mode 100644
index 00000000..9188e7fe
--- /dev/null
+++ b/public/problems/registry-notary/relationship/purpose_not_allowed.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.purpose_not_allowed",
+ "title": "relationship is not allowed for the requested purpose",
+ "summary": "The relationship cannot be used for the requested purpose.",
+ "description": "The relationship cannot be used for the requested purpose.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/relationship/purpose_not_allowed/index.html b/public/problems/registry-notary/relationship/purpose_not_allowed/index.html
new file mode 100644
index 00000000..7b0d1640
--- /dev/null
+++ b/public/problems/registry-notary/relationship/purpose_not_allowed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ relationship is not allowed for the requested purpose | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
relationship is not allowed for the requested purpose
+
The relationship cannot be used for the requested purpose.
+
https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code relationship.purpose_not_allowed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-notary/relationship/purpose_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "relationship.purpose_not_allowed",
+ "title": "relationship is not allowed for the requested purpose",
+ "summary": "The relationship cannot be used for the requested purpose.",
+ "description": "The relationship cannot be used for the requested purpose.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/request/conflict.json b/public/problems/registry-notary/request/conflict.json
new file mode 100644
index 00000000..78fdf703
--- /dev/null
+++ b/public/problems/registry-notary/request/conflict.json
@@ -0,0 +1,42 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/request/conflict",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/conflict",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.conflict",
+ "title": "request conflicts with current state",
+ "summary": "OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.",
+ "description": "OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/request/conflict/index.html b/public/problems/registry-notary/request/conflict/index.html
new file mode 100644
index 00000000..fa39cb9e
--- /dev/null
+++ b/public/problems/registry-notary/request/conflict/index.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+ request conflicts with current state | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
request conflicts with current state
+
OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.
+
https://id.registrystack.org/problems/registry-notary/request/conflict
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/request/conflict
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code request.conflict
+ Category not published
+ HTTP statuses not published in this resolver record
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/conflict",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/conflict",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.conflict",
+ "title": "request conflicts with current state",
+ "summary": "OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.",
+ "description": "OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/request/invalid.json b/public/problems/registry-notary/request/invalid.json
new file mode 100644
index 00000000..83061b51
--- /dev/null
+++ b/public/problems/registry-notary/request/invalid.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.invalid",
+ "title": "evidence request is invalid",
+ "summary": "The request body or parameters failed validation.",
+ "description": "The request body or parameters failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/request/invalid/index.html b/public/problems/registry-notary/request/invalid/index.html
new file mode 100644
index 00000000..baca7751
--- /dev/null
+++ b/public/problems/registry-notary/request/invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ evidence request is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
evidence request is invalid
+
The request body or parameters failed validation.
+
https://id.registrystack.org/problems/registry-notary/request/invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/request/invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code request.invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.invalid",
+ "title": "evidence request is invalid",
+ "summary": "The request body or parameters failed validation.",
+ "description": "The request body or parameters failed validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/request/too_large.json b/public/problems/registry-notary/request/too_large.json
new file mode 100644
index 00000000..84a02ce2
--- /dev/null
+++ b/public/problems/registry-notary/request/too_large.json
@@ -0,0 +1,42 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/request/too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.too_large",
+ "title": "request is too large",
+ "summary": "OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.",
+ "description": "OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/request/too_large/index.html b/public/problems/registry-notary/request/too_large/index.html
new file mode 100644
index 00000000..489d9190
--- /dev/null
+++ b/public/problems/registry-notary/request/too_large/index.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+ request is too large | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
request is too large
+
OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.
+
https://id.registrystack.org/problems/registry-notary/request/too_large
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/request/too_large
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code request.too_large
+ Category not published
+ HTTP statuses not published in this resolver record
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/too_large",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.too_large",
+ "title": "request is too large",
+ "summary": "OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.",
+ "description": "OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/request/uri_too_long.json b/public/problems/registry-notary/request/uri_too_long.json
new file mode 100644
index 00000000..7b88314c
--- /dev/null
+++ b/public/problems/registry-notary/request/uri_too_long.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/request/uri_too_long",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/uri_too_long",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.uri_too_long",
+ "title": "request uri is too long",
+ "summary": "The request URI exceeds the configured limit.",
+ "description": "The request URI exceeds the configured limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/request/uri_too_long/index.html b/public/problems/registry-notary/request/uri_too_long/index.html
new file mode 100644
index 00000000..1ecd3c3e
--- /dev/null
+++ b/public/problems/registry-notary/request/uri_too_long/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ request uri is too long | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
request uri is too long
+
The request URI exceeds the configured limit.
+
https://id.registrystack.org/problems/registry-notary/request/uri_too_long
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/request/uri_too_long
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code request.uri_too_long
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/request/uri_too_long",
+ "type": "https://id.registrystack.org/problems/registry-notary/request/uri_too_long",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "request.uri_too_long",
+ "title": "request uri is too long",
+ "summary": "The request URI exceeds the configured limit.",
+ "description": "The request URI exceeds the configured limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/requester/attributes_insufficient.json b/public/problems/registry-notary/requester/attributes_insufficient.json
new file mode 100644
index 00000000..e3e22989
--- /dev/null
+++ b/public/problems/registry-notary/requester/attributes_insufficient.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.attributes_insufficient",
+ "title": "requester attributes are insufficient for matching",
+ "summary": "The supplied requester attributes cannot resolve a match.",
+ "description": "The supplied requester attributes cannot resolve a match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/requester/attributes_insufficient/index.html b/public/problems/registry-notary/requester/attributes_insufficient/index.html
new file mode 100644
index 00000000..0b080dbe
--- /dev/null
+++ b/public/problems/registry-notary/requester/attributes_insufficient/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ requester attributes are insufficient for matching | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
requester attributes are insufficient for matching
+
The supplied requester attributes cannot resolve a match.
+
https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code requester.attributes_insufficient
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.attributes_insufficient",
+ "title": "requester attributes are insufficient for matching",
+ "summary": "The supplied requester attributes cannot resolve a match.",
+ "description": "The supplied requester attributes cannot resolve a match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/requester/identifier_missing.json b/public/problems/registry-notary/requester/identifier_missing.json
new file mode 100644
index 00000000..ce9f7ac9
--- /dev/null
+++ b/public/problems/registry-notary/requester/identifier_missing.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/identifier_missing",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/identifier_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.identifier_missing",
+ "title": "requester identifier is missing",
+ "summary": "The request omits a required requester identifier.",
+ "description": "The request omits a required requester identifier.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/requester/identifier_missing/index.html b/public/problems/registry-notary/requester/identifier_missing/index.html
new file mode 100644
index 00000000..8859aad5
--- /dev/null
+++ b/public/problems/registry-notary/requester/identifier_missing/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ requester identifier is missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
requester identifier is missing
+
The request omits a required requester identifier.
+
https://id.registrystack.org/problems/registry-notary/requester/identifier_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/requester/identifier_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code requester.identifier_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/identifier_missing",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/identifier_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.identifier_missing",
+ "title": "requester identifier is missing",
+ "summary": "The request omits a required requester identifier.",
+ "description": "The request omits a required requester identifier.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/requester/match_ambiguous.json b/public/problems/registry-notary/requester/match_ambiguous.json
new file mode 100644
index 00000000..ee7c19ec
--- /dev/null
+++ b/public/problems/registry-notary/requester/match_ambiguous.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.match_ambiguous",
+ "title": "requester lookup returned more than one record",
+ "summary": "The requester lookup matched more than one record.",
+ "description": "The requester lookup matched more than one record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/requester/match_ambiguous/index.html b/public/problems/registry-notary/requester/match_ambiguous/index.html
new file mode 100644
index 00000000..257979bb
--- /dev/null
+++ b/public/problems/registry-notary/requester/match_ambiguous/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ requester lookup returned more than one record | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
requester lookup returned more than one record
+
The requester lookup matched more than one record.
+
https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code requester.match_ambiguous
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.match_ambiguous",
+ "title": "requester lookup returned more than one record",
+ "summary": "The requester lookup matched more than one record.",
+ "description": "The requester lookup matched more than one record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/requester/matching_policy_rejected.json b/public/problems/registry-notary/requester/matching_policy_rejected.json
new file mode 100644
index 00000000..7d8fceec
--- /dev/null
+++ b/public/problems/registry-notary/requester/matching_policy_rejected.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.matching_policy_rejected",
+ "title": "requester matching policy rejected the request",
+ "summary": "The requester matching policy denied the request.",
+ "description": "The requester matching policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/requester/matching_policy_rejected/index.html b/public/problems/registry-notary/requester/matching_policy_rejected/index.html
new file mode 100644
index 00000000..397eabe1
--- /dev/null
+++ b/public/problems/registry-notary/requester/matching_policy_rejected/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ requester matching policy rejected the request | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
requester matching policy rejected the request
+
The requester matching policy denied the request.
+
https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code requester.matching_policy_rejected
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/matching_policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.matching_policy_rejected",
+ "title": "requester matching policy rejected the request",
+ "summary": "The requester matching policy denied the request.",
+ "description": "The requester matching policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/requester/not_found.json b/public/problems/registry-notary/requester/not_found.json
new file mode 100644
index 00000000..5ebd18af
--- /dev/null
+++ b/public/problems/registry-notary/requester/not_found.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.not_found",
+ "title": "requester record was not found",
+ "summary": "The requester lookup matched no record.",
+ "description": "The requester lookup matched no record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/requester/not_found/index.html b/public/problems/registry-notary/requester/not_found/index.html
new file mode 100644
index 00000000..47457dce
--- /dev/null
+++ b/public/problems/registry-notary/requester/not_found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ requester record was not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
requester record was not found
+
The requester lookup matched no record.
+
https://id.registrystack.org/problems/registry-notary/requester/not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/requester/not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code requester.not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.not_found",
+ "title": "requester record was not found",
+ "summary": "The requester lookup matched no record.",
+ "description": "The requester lookup matched no record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/requester/reauthentication_required.json b/public/problems/registry-notary/requester/reauthentication_required.json
new file mode 100644
index 00000000..05c43172
--- /dev/null
+++ b/public/problems/registry-notary/requester/reauthentication_required.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.reauthentication_required",
+ "title": "requester must reauthenticate",
+ "summary": "The requester needs to authenticate again before the request can proceed.",
+ "description": "The requester needs to authenticate again before the request can proceed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/requester/reauthentication_required/index.html b/public/problems/registry-notary/requester/reauthentication_required/index.html
new file mode 100644
index 00000000..7511a271
--- /dev/null
+++ b/public/problems/registry-notary/requester/reauthentication_required/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ requester must reauthenticate | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
requester must reauthenticate
+
The requester needs to authenticate again before the request can proceed.
+
https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code requester.reauthentication_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required",
+ "type": "https://id.registrystack.org/problems/registry-notary/requester/reauthentication_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "requester.reauthentication_required",
+ "title": "requester must reauthenticate",
+ "summary": "The requester needs to authenticate again before the request can proceed.",
+ "description": "The requester needs to authenticate again before the request can proceed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/self_attestation/denied.json b/public/problems/registry-notary/self_attestation/denied.json
new file mode 100644
index 00000000..ff8146fa
--- /dev/null
+++ b/public/problems/registry-notary/self_attestation/denied.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/self_attestation/denied",
+ "type": "https://id.registrystack.org/problems/registry-notary/self_attestation/denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "self_attestation.denied",
+ "title": "self-attestation request is denied",
+ "summary": "A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.",
+ "description": "A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/self_attestation/denied/index.html b/public/problems/registry-notary/self_attestation/denied/index.html
new file mode 100644
index 00000000..fe8df30f
--- /dev/null
+++ b/public/problems/registry-notary/self_attestation/denied/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ self-attestation request is denied | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
self-attestation request is denied
+
A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.
+
https://id.registrystack.org/problems/registry-notary/self_attestation/denied
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/self_attestation/denied
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code self_attestation.denied
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/self_attestation/denied",
+ "type": "https://id.registrystack.org/problems/registry-notary/self_attestation/denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "self_attestation.denied",
+ "title": "self-attestation request is denied",
+ "summary": "A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.",
+ "description": "A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/self_attestation/rate_limited.json b/public/problems/registry-notary/self_attestation/rate_limited.json
new file mode 100644
index 00000000..fcdab99f
--- /dev/null
+++ b/public/problems/registry-notary/self_attestation/rate_limited.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited",
+ "type": "https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "self_attestation.rate_limited",
+ "title": "self-attestation request is rate limited",
+ "summary": "Too many self-attestation requests in the configured window.",
+ "description": "Too many self-attestation requests in the configured window.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/self_attestation/rate_limited/index.html b/public/problems/registry-notary/self_attestation/rate_limited/index.html
new file mode 100644
index 00000000..b0285ee8
--- /dev/null
+++ b/public/problems/registry-notary/self_attestation/rate_limited/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ self-attestation request is rate limited | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
self-attestation request is rate limited
+
Too many self-attestation requests in the configured window.
+
https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code self_attestation.rate_limited
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited",
+ "type": "https://id.registrystack.org/problems/registry-notary/self_attestation/rate_limited",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "self_attestation.rate_limited",
+ "title": "self-attestation request is rate limited",
+ "summary": "Too many self-attestation requests in the configured window.",
+ "description": "Too many self-attestation requests in the configured window.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/source/unavailable.json b/public/problems/registry-notary/source/unavailable.json
new file mode 100644
index 00000000..7bb1e6f6
--- /dev/null
+++ b/public/problems/registry-notary/source/unavailable.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/source/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/source/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "source.unavailable",
+ "title": "source is unavailable",
+ "summary": "A configured source service could not be reached or did not respond.",
+ "description": "A configured source service could not be reached or did not respond.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/source/unavailable/index.html b/public/problems/registry-notary/source/unavailable/index.html
new file mode 100644
index 00000000..94a054ca
--- /dev/null
+++ b/public/problems/registry-notary/source/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ source is unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
source is unavailable
+
A configured source service could not be reached or did not respond.
+
https://id.registrystack.org/problems/registry-notary/source/unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/source/unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code source.unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/source/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-notary/source/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "source.unavailable",
+ "title": "source is unavailable",
+ "summary": "A configured source service could not be reached or did not respond.",
+ "description": "A configured source service could not be reached or did not respond.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/target/attributes_insufficient.json b/public/problems/registry-notary/target/attributes_insufficient.json
new file mode 100644
index 00000000..9d5e4485
--- /dev/null
+++ b/public/problems/registry-notary/target/attributes_insufficient.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.attributes_insufficient",
+ "title": "target attributes are insufficient for matching",
+ "summary": "The supplied target attributes cannot resolve a match.",
+ "description": "The supplied target attributes cannot resolve a match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/target/attributes_insufficient/index.html b/public/problems/registry-notary/target/attributes_insufficient/index.html
new file mode 100644
index 00000000..4b7c7d47
--- /dev/null
+++ b/public/problems/registry-notary/target/attributes_insufficient/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ target attributes are insufficient for matching | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
target attributes are insufficient for matching
+
The supplied target attributes cannot resolve a match.
+
https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code target.attributes_insufficient
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/attributes_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.attributes_insufficient",
+ "title": "target attributes are insufficient for matching",
+ "summary": "The supplied target attributes cannot resolve a match.",
+ "description": "The supplied target attributes cannot resolve a match.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/target/identifier_missing.json b/public/problems/registry-notary/target/identifier_missing.json
new file mode 100644
index 00000000..19132c40
--- /dev/null
+++ b/public/problems/registry-notary/target/identifier_missing.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/target/identifier_missing",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/identifier_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.identifier_missing",
+ "title": "target identifier is missing",
+ "summary": "The request omits a required target identifier.",
+ "description": "The request omits a required target identifier.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/target/identifier_missing/index.html b/public/problems/registry-notary/target/identifier_missing/index.html
new file mode 100644
index 00000000..bcad0a80
--- /dev/null
+++ b/public/problems/registry-notary/target/identifier_missing/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ target identifier is missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
target identifier is missing
+
The request omits a required target identifier.
+
https://id.registrystack.org/problems/registry-notary/target/identifier_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/target/identifier_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code target.identifier_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/identifier_missing",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/identifier_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.identifier_missing",
+ "title": "target identifier is missing",
+ "summary": "The request omits a required target identifier.",
+ "description": "The request omits a required target identifier.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/target/match_ambiguous.json b/public/problems/registry-notary/target/match_ambiguous.json
new file mode 100644
index 00000000..59cc5197
--- /dev/null
+++ b/public/problems/registry-notary/target/match_ambiguous.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/target/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.match_ambiguous",
+ "title": "target lookup returned more than one record",
+ "summary": "The target lookup matched more than one source record.",
+ "description": "The target lookup matched more than one source record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/target/match_ambiguous/index.html b/public/problems/registry-notary/target/match_ambiguous/index.html
new file mode 100644
index 00000000..1aa48bd9
--- /dev/null
+++ b/public/problems/registry-notary/target/match_ambiguous/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ target lookup returned more than one record | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
target lookup returned more than one record
+
The target lookup matched more than one source record.
+
https://id.registrystack.org/problems/registry-notary/target/match_ambiguous
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/target/match_ambiguous
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code target.match_ambiguous
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/match_ambiguous",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/match_ambiguous",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.match_ambiguous",
+ "title": "target lookup returned more than one record",
+ "summary": "The target lookup matched more than one source record.",
+ "description": "The target lookup matched more than one source record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/target/match_low_confidence.json b/public/problems/registry-notary/target/match_low_confidence.json
new file mode 100644
index 00000000..7cfccf90
--- /dev/null
+++ b/public/problems/registry-notary/target/match_low_confidence.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/target/match_low_confidence",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/match_low_confidence",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.match_low_confidence",
+ "title": "target match confidence is too low",
+ "summary": "The best target match scored below the configured threshold.",
+ "description": "The best target match scored below the configured threshold.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/target/match_low_confidence/index.html b/public/problems/registry-notary/target/match_low_confidence/index.html
new file mode 100644
index 00000000..ac6750c9
--- /dev/null
+++ b/public/problems/registry-notary/target/match_low_confidence/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ target match confidence is too low | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
target match confidence is too low
+
The best target match scored below the configured threshold.
+
https://id.registrystack.org/problems/registry-notary/target/match_low_confidence
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/target/match_low_confidence
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code target.match_low_confidence
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/match_low_confidence",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/match_low_confidence",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.match_low_confidence",
+ "title": "target match confidence is too low",
+ "summary": "The best target match scored below the configured threshold.",
+ "description": "The best target match scored below the configured threshold.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/target/matching_policy_rejected.json b/public/problems/registry-notary/target/matching_policy_rejected.json
new file mode 100644
index 00000000..876e5dad
--- /dev/null
+++ b/public/problems/registry-notary/target/matching_policy_rejected.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.matching_policy_rejected",
+ "title": "target matching policy rejected the request",
+ "summary": "The target matching policy denied the request.",
+ "description": "The target matching policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/target/matching_policy_rejected/index.html b/public/problems/registry-notary/target/matching_policy_rejected/index.html
new file mode 100644
index 00000000..bdbefd96
--- /dev/null
+++ b/public/problems/registry-notary/target/matching_policy_rejected/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ target matching policy rejected the request | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
target matching policy rejected the request
+
The target matching policy denied the request.
+
https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code target.matching_policy_rejected
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/matching_policy_rejected",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.matching_policy_rejected",
+ "title": "target matching policy rejected the request",
+ "summary": "The target matching policy denied the request.",
+ "description": "The target matching policy denied the request.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/target/not_found.json b/public/problems/registry-notary/target/not_found.json
new file mode 100644
index 00000000..baa6b847
--- /dev/null
+++ b/public/problems/registry-notary/target/not_found.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/target/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.not_found",
+ "title": "target record was not found",
+ "summary": "The target lookup matched no source record.",
+ "description": "The target lookup matched no source record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/target/not_found/index.html b/public/problems/registry-notary/target/not_found/index.html
new file mode 100644
index 00000000..216aa9fd
--- /dev/null
+++ b/public/problems/registry-notary/target/not_found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ target record was not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
target record was not found
+
The target lookup matched no source record.
+
https://id.registrystack.org/problems/registry-notary/target/not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/target/not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code target.not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/not_found",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.not_found",
+ "title": "target record was not found",
+ "summary": "The target lookup matched no source record.",
+ "description": "The target lookup matched no source record.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-notary/target/not_in_valid_state.json b/public/problems/registry-notary/target/not_in_valid_state.json
new file mode 100644
index 00000000..81b3cd7f
--- /dev/null
+++ b/public/problems/registry-notary/target/not_in_valid_state.json
@@ -0,0 +1,43 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.not_in_valid_state",
+ "title": "target is not in a valid state",
+ "summary": "The matched target is not in a state that allows evaluation.",
+ "description": "The matched target is not in a state that allows evaluation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-notary/target/not_in_valid_state/index.html b/public/problems/registry-notary/target/not_in_valid_state/index.html
new file mode 100644
index 00000000..60b6f136
--- /dev/null
+++ b/public/problems/registry-notary/target/not_in_valid_state/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ target is not in a valid state | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-notary
+
target is not in a valid state
+
The matched target is not in a state that allows evaluation.
+
https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-notary
+ Code target.not_in_valid_state
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state",
+ "type": "https://id.registrystack.org/problems/registry-notary/target/not_in_valid_state",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-notary",
+ "code": "target.not_in_valid_state",
+ "title": "target is not in a valid state",
+ "summary": "The matched target is not in a state that allows evaluation.",
+ "description": "The matched target is not in a state that allows evaluation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-platform/request/body-too-large.json b/public/problems/registry-platform/request/body-too-large.json
new file mode 100644
index 00000000..46f82f13
--- /dev/null
+++ b/public/problems/registry-platform/request/body-too-large.json
@@ -0,0 +1,42 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-platform/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-platform/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-platform",
+ "code": "request.body_too_large",
+ "title": "Payload Too Large",
+ "summary": "The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.",
+ "description": "The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-platform/request/body-too-large/index.html b/public/problems/registry-platform/request/body-too-large/index.html
new file mode 100644
index 00000000..d9af34d5
--- /dev/null
+++ b/public/problems/registry-platform/request/body-too-large/index.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+ Payload Too Large | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-platform
+
Payload Too Large
+
The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.
+
https://id.registrystack.org/problems/registry-platform/request/body-too-large
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-platform/request/body-too-large
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-platform
+ Code request.body_too_large
+ Category not published
+ HTTP statuses not published in this resolver record
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-platform/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-platform/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-platform",
+ "code": "request.body_too_large",
+ "title": "Payload Too Large",
+ "summary": "The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.",
+ "description": "The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/admin/reload_failed.json b/public/problems/registry-relay/admin/reload_failed.json
new file mode 100644
index 00000000..cdb2c06a
--- /dev/null
+++ b/public/problems/registry-relay/admin/reload_failed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/admin/reload_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/admin/reload_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "admin.reload_failed",
+ "title": "reload failed",
+ "summary": "One or more resources failed to reload.",
+ "description": "One or more resources failed to reload.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/admin/reload_failed/index.html b/public/problems/registry-relay/admin/reload_failed/index.html
new file mode 100644
index 00000000..55090010
--- /dev/null
+++ b/public/problems/registry-relay/admin/reload_failed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ reload failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
reload failed
+
One or more resources failed to reload.
+
https://id.registrystack.org/problems/registry-relay/admin/reload_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/admin/reload_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code admin.reload_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/admin/reload_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/admin/reload_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "admin.reload_failed",
+ "title": "reload failed",
+ "summary": "One or more resources failed to reload.",
+ "description": "One or more resources failed to reload.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/admin/unknown_resource.json b/public/problems/registry-relay/admin/unknown_resource.json
new file mode 100644
index 00000000..c4e83616
--- /dev/null
+++ b/public/problems/registry-relay/admin/unknown_resource.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/admin/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/admin/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "admin.unknown_resource",
+ "title": "unknown admin resource",
+ "summary": "The reload target id was not found.",
+ "description": "The reload target id was not found.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/admin/unknown_resource/index.html b/public/problems/registry-relay/admin/unknown_resource/index.html
new file mode 100644
index 00000000..9a8f7f35
--- /dev/null
+++ b/public/problems/registry-relay/admin/unknown_resource/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ unknown admin resource | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
unknown admin resource
+
The reload target id was not found.
+
https://id.registrystack.org/problems/registry-relay/admin/unknown_resource
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/admin/unknown_resource
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code admin.unknown_resource
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/admin/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/admin/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "admin.unknown_resource",
+ "title": "unknown admin resource",
+ "summary": "The reload target id was not found.",
+ "description": "The reload target id was not found.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/aggregate-data/denied.json b/public/problems/registry-relay/aggregate-data/denied.json
index ba30e892..971f4360 100644
--- a/public/problems/registry-relay/aggregate-data/denied.json
+++ b/public/problems/registry-relay/aggregate-data/denied.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate-data/denied/index.html b/public/problems/registry-relay/aggregate-data/denied/index.html
index d1407443..ba899fc5 100644
--- a/public/problems/registry-relay/aggregate-data/denied/index.html
+++ b/public/problems/registry-relay/aggregate-data/denied/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate-data/invalid_request.json b/public/problems/registry-relay/aggregate-data/invalid_request.json
index 8e0c294c..cbc61d64 100644
--- a/public/problems/registry-relay/aggregate-data/invalid_request.json
+++ b/public/problems/registry-relay/aggregate-data/invalid_request.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate-data/invalid_request/index.html b/public/problems/registry-relay/aggregate-data/invalid_request/index.html
index d783c654..ad78a8fb 100644
--- a/public/problems/registry-relay/aggregate-data/invalid_request/index.html
+++ b/public/problems/registry-relay/aggregate-data/invalid_request/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate-data/rate_limited.json b/public/problems/registry-relay/aggregate-data/rate_limited.json
index b7ea1a75..3068f975 100644
--- a/public/problems/registry-relay/aggregate-data/rate_limited.json
+++ b/public/problems/registry-relay/aggregate-data/rate_limited.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate-data/rate_limited/index.html b/public/problems/registry-relay/aggregate-data/rate_limited/index.html
index 7ac6cf98..7acf9d8a 100644
--- a/public/problems/registry-relay/aggregate-data/rate_limited/index.html
+++ b/public/problems/registry-relay/aggregate-data/rate_limited/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate-data/too_large.json b/public/problems/registry-relay/aggregate-data/too_large.json
index 6a985e0b..7663adc8 100644
--- a/public/problems/registry-relay/aggregate-data/too_large.json
+++ b/public/problems/registry-relay/aggregate-data/too_large.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate-data/too_large/index.html b/public/problems/registry-relay/aggregate-data/too_large/index.html
index 9289693b..ca063ab7 100644
--- a/public/problems/registry-relay/aggregate-data/too_large/index.html
+++ b/public/problems/registry-relay/aggregate-data/too_large/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/aggregate/disclosure_violation.json b/public/problems/registry-relay/aggregate/disclosure_violation.json
new file mode 100644
index 00000000..28e05e30
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/disclosure_violation.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.disclosure_violation",
+ "title": "disclosure violation",
+ "summary": "A disclosure-control invariant was violated before response.",
+ "description": "A disclosure-control invariant was violated before response.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/aggregate/disclosure_violation/index.html b/public/problems/registry-relay/aggregate/disclosure_violation/index.html
new file mode 100644
index 00000000..32f36423
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/disclosure_violation/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ disclosure violation | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
disclosure violation
+
A disclosure-control invariant was violated before response.
+
https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code aggregate.disclosure_violation
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/disclosure_violation",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.disclosure_violation",
+ "title": "disclosure violation",
+ "summary": "A disclosure-control invariant was violated before response.",
+ "description": "A disclosure-control invariant was violated before response.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/aggregate/execution_failed.json b/public/problems/registry-relay/aggregate/execution_failed.json
new file mode 100644
index 00000000..55cd8d74
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/execution_failed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.execution_failed",
+ "title": "aggregate execution failed",
+ "summary": "The query engine returned an execution error.",
+ "description": "The query engine returned an execution error.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/aggregate/execution_failed/index.html b/public/problems/registry-relay/aggregate/execution_failed/index.html
new file mode 100644
index 00000000..2771f44d
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/execution_failed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ aggregate execution failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
aggregate execution failed
+
The query engine returned an execution error.
+
https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code aggregate.execution_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/execution_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.execution_failed",
+ "title": "aggregate execution failed",
+ "summary": "The query engine returned an execution error.",
+ "description": "The query engine returned an execution error.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/aggregate/filter_required.json b/public/problems/registry-relay/aggregate/filter_required.json
new file mode 100644
index 00000000..9a16d43a
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/filter_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/filter_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/filter_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.filter_required",
+ "title": "filter required",
+ "summary": "A required aggregate filter was not supplied.",
+ "description": "A required aggregate filter was not supplied.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/aggregate/filter_required/index.html b/public/problems/registry-relay/aggregate/filter_required/index.html
new file mode 100644
index 00000000..d1c64dfb
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/filter_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ filter required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
filter required
+
A required aggregate filter was not supplied.
+
https://id.registrystack.org/problems/registry-relay/aggregate/filter_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/aggregate/filter_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code aggregate.filter_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/filter_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/filter_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.filter_required",
+ "title": "filter required",
+ "summary": "A required aggregate filter was not supplied.",
+ "description": "A required aggregate filter was not supplied.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/aggregate/format_unsupported.json b/public/problems/registry-relay/aggregate/format_unsupported.json
new file mode 100644
index 00000000..542da51a
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/format_unsupported.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.format_unsupported",
+ "title": "aggregate format unsupported",
+ "summary": "The requested aggregate response format is not supported.",
+ "description": "The requested aggregate response format is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/aggregate/format_unsupported/index.html b/public/problems/registry-relay/aggregate/format_unsupported/index.html
new file mode 100644
index 00000000..7b07fa19
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/format_unsupported/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ aggregate format unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
aggregate format unsupported
+
The requested aggregate response format is not supported.
+
https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code aggregate.format_unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/format_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.format_unsupported",
+ "title": "aggregate format unsupported",
+ "summary": "The requested aggregate response format is not supported.",
+ "description": "The requested aggregate response format is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/aggregate/measure_unsupported.json b/public/problems/registry-relay/aggregate/measure_unsupported.json
new file mode 100644
index 00000000..0eb00cca
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/measure_unsupported.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.measure_unsupported",
+ "title": "aggregate measure unsupported",
+ "summary": "A configured measure references a function that is not implemented.",
+ "description": "A configured measure references a function that is not implemented.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/aggregate/measure_unsupported/index.html b/public/problems/registry-relay/aggregate/measure_unsupported/index.html
new file mode 100644
index 00000000..148d3ff4
--- /dev/null
+++ b/public/problems/registry-relay/aggregate/measure_unsupported/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ aggregate measure unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
aggregate measure unsupported
+
A configured measure references a function that is not implemented.
+
https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code aggregate.measure_unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/aggregate/measure_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "aggregate.measure_unsupported",
+ "title": "aggregate measure unsupported",
+ "summary": "A configured measure references a function that is not implemented.",
+ "description": "A configured measure references a function that is not implemented.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/audit/unavailable.json b/public/problems/registry-relay/audit/unavailable.json
index 9ac145f0..8e556195 100644
--- a/public/problems/registry-relay/audit/unavailable.json
+++ b/public/problems/registry-relay/audit/unavailable.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/audit/unavailable/index.html b/public/problems/registry-relay/audit/unavailable/index.html
index 32975361..09a73217 100644
--- a/public/problems/registry-relay/audit/unavailable/index.html
+++ b/public/problems/registry-relay/audit/unavailable/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/auth/admin_required.json b/public/problems/registry-relay/auth/admin_required.json
new file mode 100644
index 00000000..00cc73fe
--- /dev/null
+++ b/public/problems/registry-relay/auth/admin_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/admin_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/admin_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.admin_required",
+ "title": "admin scope required",
+ "summary": "The endpoint requires the admin scope.",
+ "description": "The endpoint requires the admin scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/admin_required/index.html b/public/problems/registry-relay/auth/admin_required/index.html
new file mode 100644
index 00000000..3a42e4ff
--- /dev/null
+++ b/public/problems/registry-relay/auth/admin_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ admin scope required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
admin scope required
+
The endpoint requires the admin scope.
+
https://id.registrystack.org/problems/registry-relay/auth/admin_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/admin_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.admin_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/admin_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/admin_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.admin_required",
+ "title": "admin scope required",
+ "summary": "The endpoint requires the admin scope.",
+ "description": "The endpoint requires the admin scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/algorithm_not_allowed.json b/public/problems/registry-relay/auth/algorithm_not_allowed.json
new file mode 100644
index 00000000..4be4cfd7
--- /dev/null
+++ b/public/problems/registry-relay/auth/algorithm_not_allowed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.algorithm_not_allowed",
+ "title": "algorithm not allowed",
+ "summary": "The bearer token `alg` is not in the configured allowlist.",
+ "description": "The bearer token `alg` is not in the configured allowlist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/algorithm_not_allowed/index.html b/public/problems/registry-relay/auth/algorithm_not_allowed/index.html
new file mode 100644
index 00000000..37a38f3a
--- /dev/null
+++ b/public/problems/registry-relay/auth/algorithm_not_allowed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ algorithm not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
algorithm not allowed
+
The bearer token `alg` is not in the configured allowlist.
+
https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.algorithm_not_allowed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/algorithm_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.algorithm_not_allowed",
+ "title": "algorithm not allowed",
+ "summary": "The bearer token `alg` is not in the configured allowlist.",
+ "description": "The bearer token `alg` is not in the configured allowlist.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/audience_mismatch.json b/public/problems/registry-relay/auth/audience_mismatch.json
new file mode 100644
index 00000000..ef1f5dec
--- /dev/null
+++ b/public/problems/registry-relay/auth/audience_mismatch.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.audience_mismatch",
+ "title": "audience mismatch",
+ "summary": "The bearer token `aud` does not intersect the configured audience set.",
+ "description": "The bearer token `aud` does not intersect the configured audience set.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/audience_mismatch/index.html b/public/problems/registry-relay/auth/audience_mismatch/index.html
new file mode 100644
index 00000000..c7c69c0a
--- /dev/null
+++ b/public/problems/registry-relay/auth/audience_mismatch/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ audience mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
audience mismatch
+
The bearer token `aud` does not intersect the configured audience set.
+
https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.audience_mismatch
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/audience_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.audience_mismatch",
+ "title": "audience mismatch",
+ "summary": "The bearer token `aud` does not intersect the configured audience set.",
+ "description": "The bearer token `aud` does not intersect the configured audience set.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/client_not_allowed.json b/public/problems/registry-relay/auth/client_not_allowed.json
new file mode 100644
index 00000000..1b4ec9b9
--- /dev/null
+++ b/public/problems/registry-relay/auth/client_not_allowed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.client_not_allowed",
+ "title": "client not allowed",
+ "summary": "The bearer token client is not in the configured `allowed_clients` list.",
+ "description": "The bearer token client is not in the configured `allowed_clients` list.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/client_not_allowed/index.html b/public/problems/registry-relay/auth/client_not_allowed/index.html
new file mode 100644
index 00000000..1eec18fd
--- /dev/null
+++ b/public/problems/registry-relay/auth/client_not_allowed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ client not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
client not allowed
+
The bearer token client is not in the configured `allowed_clients` list.
+
https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.client_not_allowed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/client_not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.client_not_allowed",
+ "title": "client not allowed",
+ "summary": "The bearer token client is not in the configured `allowed_clients` list.",
+ "description": "The bearer token client is not in the configured `allowed_clients` list.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/invalid_credential.json b/public/problems/registry-relay/auth/invalid_credential.json
index ff8ca8df..587e3033 100644
--- a/public/problems/registry-relay/auth/invalid_credential.json
+++ b/public/problems/registry-relay/auth/invalid_credential.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/auth/invalid_credential/index.html b/public/problems/registry-relay/auth/invalid_credential/index.html
index cd624d95..af31344b 100644
--- a/public/problems/registry-relay/auth/invalid_credential/index.html
+++ b/public/problems/registry-relay/auth/invalid_credential/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/auth/issuer_mismatch.json b/public/problems/registry-relay/auth/issuer_mismatch.json
new file mode 100644
index 00000000..7f8c8946
--- /dev/null
+++ b/public/problems/registry-relay/auth/issuer_mismatch.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.issuer_mismatch",
+ "title": "issuer mismatch",
+ "summary": "The bearer token `iss` does not equal the configured issuer.",
+ "description": "The bearer token `iss` does not equal the configured issuer.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/issuer_mismatch/index.html b/public/problems/registry-relay/auth/issuer_mismatch/index.html
new file mode 100644
index 00000000..938b761e
--- /dev/null
+++ b/public/problems/registry-relay/auth/issuer_mismatch/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ issuer mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
issuer mismatch
+
The bearer token `iss` does not equal the configured issuer.
+
https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.issuer_mismatch
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/issuer_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.issuer_mismatch",
+ "title": "issuer mismatch",
+ "summary": "The bearer token `iss` does not equal the configured issuer.",
+ "description": "The bearer token `iss` does not equal the configured issuer.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/jwks_unavailable.json b/public/problems/registry-relay/auth/jwks_unavailable.json
new file mode 100644
index 00000000..cf0e8734
--- /dev/null
+++ b/public/problems/registry-relay/auth/jwks_unavailable.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.jwks_unavailable",
+ "title": "jwks unavailable",
+ "summary": "The JWKS endpoint is unreachable and no cached keys are available.",
+ "description": "The JWKS endpoint is unreachable and no cached keys are available.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/jwks_unavailable/index.html b/public/problems/registry-relay/auth/jwks_unavailable/index.html
new file mode 100644
index 00000000..db287086
--- /dev/null
+++ b/public/problems/registry-relay/auth/jwks_unavailable/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ jwks unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
jwks unavailable
+
The JWKS endpoint is unreachable and no cached keys are available.
+
https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.jwks_unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/jwks_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.jwks_unavailable",
+ "title": "jwks unavailable",
+ "summary": "The JWKS endpoint is unreachable and no cached keys are available.",
+ "description": "The JWKS endpoint is unreachable and no cached keys are available.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/kid_unknown.json b/public/problems/registry-relay/auth/kid_unknown.json
new file mode 100644
index 00000000..359a1f55
--- /dev/null
+++ b/public/problems/registry-relay/auth/kid_unknown.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/kid_unknown",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/kid_unknown",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.kid_unknown",
+ "title": "kid unknown",
+ "summary": "The bearer token `kid` is not in the JWKS document after one refresh.",
+ "description": "The bearer token `kid` is not in the JWKS document after one refresh.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/kid_unknown/index.html b/public/problems/registry-relay/auth/kid_unknown/index.html
new file mode 100644
index 00000000..cc67c8a1
--- /dev/null
+++ b/public/problems/registry-relay/auth/kid_unknown/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ kid unknown | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
kid unknown
+
The bearer token `kid` is not in the JWKS document after one refresh.
+
https://id.registrystack.org/problems/registry-relay/auth/kid_unknown
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/kid_unknown
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.kid_unknown
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/kid_unknown",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/kid_unknown",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.kid_unknown",
+ "title": "kid unknown",
+ "summary": "The bearer token `kid` is not in the JWKS document after one refresh.",
+ "description": "The bearer token `kid` is not in the JWKS document after one refresh.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/malformed_credential.json b/public/problems/registry-relay/auth/malformed_credential.json
new file mode 100644
index 00000000..5d9f15b9
--- /dev/null
+++ b/public/problems/registry-relay/auth/malformed_credential.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/malformed_credential",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/malformed_credential",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.malformed_credential",
+ "title": "malformed credential",
+ "summary": "The credential header could not be parsed.",
+ "description": "The credential header could not be parsed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/malformed_credential/index.html b/public/problems/registry-relay/auth/malformed_credential/index.html
new file mode 100644
index 00000000..aee6009d
--- /dev/null
+++ b/public/problems/registry-relay/auth/malformed_credential/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ malformed credential | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
malformed credential
+
The credential header could not be parsed.
+
https://id.registrystack.org/problems/registry-relay/auth/malformed_credential
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/malformed_credential
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.malformed_credential
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/malformed_credential",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/malformed_credential",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.malformed_credential",
+ "title": "malformed credential",
+ "summary": "The credential header could not be parsed.",
+ "description": "The credential header could not be parsed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/missing_credential.json b/public/problems/registry-relay/auth/missing_credential.json
index 01b47078..9d87ca5a 100644
--- a/public/problems/registry-relay/auth/missing_credential.json
+++ b/public/problems/registry-relay/auth/missing_credential.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/auth/missing_credential/index.html b/public/problems/registry-relay/auth/missing_credential/index.html
index d1dd1d02..a8be624a 100644
--- a/public/problems/registry-relay/auth/missing_credential/index.html
+++ b/public/problems/registry-relay/auth/missing_credential/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/auth/purpose_denied.json b/public/problems/registry-relay/auth/purpose_denied.json
new file mode 100644
index 00000000..b57f6a4e
--- /dev/null
+++ b/public/problems/registry-relay/auth/purpose_denied.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/purpose_denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/purpose_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.purpose_denied",
+ "title": "purpose denied",
+ "summary": "The `Data-Purpose` header is not permitted by policy for the resource.",
+ "description": "The `Data-Purpose` header is not permitted by policy for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/purpose_denied/index.html b/public/problems/registry-relay/auth/purpose_denied/index.html
new file mode 100644
index 00000000..df5b49d9
--- /dev/null
+++ b/public/problems/registry-relay/auth/purpose_denied/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ purpose denied | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
purpose denied
+
The `Data-Purpose` header is not permitted by policy for the resource.
+
https://id.registrystack.org/problems/registry-relay/auth/purpose_denied
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/purpose_denied
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.purpose_denied
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/purpose_denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/purpose_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.purpose_denied",
+ "title": "purpose denied",
+ "summary": "The `Data-Purpose` header is not permitted by policy for the resource.",
+ "description": "The `Data-Purpose` header is not permitted by policy for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/purpose_required.json b/public/problems/registry-relay/auth/purpose_required.json
new file mode 100644
index 00000000..7e722ba4
--- /dev/null
+++ b/public/problems/registry-relay/auth/purpose_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/purpose_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/purpose_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.purpose_required",
+ "title": "purpose header required",
+ "summary": "The `Data-Purpose` header is required for the resource.",
+ "description": "The `Data-Purpose` header is required for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/purpose_required/index.html b/public/problems/registry-relay/auth/purpose_required/index.html
new file mode 100644
index 00000000..e6b192b4
--- /dev/null
+++ b/public/problems/registry-relay/auth/purpose_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ purpose header required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
purpose header required
+
The `Data-Purpose` header is required for the resource.
+
https://id.registrystack.org/problems/registry-relay/auth/purpose_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/purpose_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.purpose_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/purpose_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/purpose_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.purpose_required",
+ "title": "purpose header required",
+ "summary": "The `Data-Purpose` header is required for the resource.",
+ "description": "The `Data-Purpose` header is required for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/scope_denied.json b/public/problems/registry-relay/auth/scope_denied.json
new file mode 100644
index 00000000..938cc516
--- /dev/null
+++ b/public/problems/registry-relay/auth/scope_denied.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/scope_denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/scope_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.scope_denied",
+ "title": "scope denied",
+ "summary": "The caller lacks the required scope.",
+ "description": "The caller lacks the required scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/scope_denied/index.html b/public/problems/registry-relay/auth/scope_denied/index.html
new file mode 100644
index 00000000..5130aa2a
--- /dev/null
+++ b/public/problems/registry-relay/auth/scope_denied/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ scope denied | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
scope denied
+
The caller lacks the required scope.
+
https://id.registrystack.org/problems/registry-relay/auth/scope_denied
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/scope_denied
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.scope_denied
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/scope_denied",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/scope_denied",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.scope_denied",
+ "title": "scope denied",
+ "summary": "The caller lacks the required scope.",
+ "description": "The caller lacks the required scope.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/token_expired.json b/public/problems/registry-relay/auth/token_expired.json
new file mode 100644
index 00000000..6f32de46
--- /dev/null
+++ b/public/problems/registry-relay/auth/token_expired.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_expired",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_expired",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_expired",
+ "title": "token expired",
+ "summary": "The bearer token `exp` is in the past beyond the configured leeway.",
+ "description": "The bearer token `exp` is in the past beyond the configured leeway.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/token_expired/index.html b/public/problems/registry-relay/auth/token_expired/index.html
new file mode 100644
index 00000000..f11b6584
--- /dev/null
+++ b/public/problems/registry-relay/auth/token_expired/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ token expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
token expired
+
The bearer token `exp` is in the past beyond the configured leeway.
+
https://id.registrystack.org/problems/registry-relay/auth/token_expired
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/token_expired
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.token_expired
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_expired",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_expired",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_expired",
+ "title": "token expired",
+ "summary": "The bearer token `exp` is in the past beyond the configured leeway.",
+ "description": "The bearer token `exp` is in the past beyond the configured leeway.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/token_not_yet_valid.json b/public/problems/registry-relay/auth/token_not_yet_valid.json
new file mode 100644
index 00000000..95011422
--- /dev/null
+++ b/public/problems/registry-relay/auth/token_not_yet_valid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_not_yet_valid",
+ "title": "token not yet valid",
+ "summary": "The bearer token `nbf` is in the future beyond the configured leeway.",
+ "description": "The bearer token `nbf` is in the future beyond the configured leeway.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/token_not_yet_valid/index.html b/public/problems/registry-relay/auth/token_not_yet_valid/index.html
new file mode 100644
index 00000000..fd6268d7
--- /dev/null
+++ b/public/problems/registry-relay/auth/token_not_yet_valid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ token not yet valid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
token not yet valid
+
The bearer token `nbf` is in the future beyond the configured leeway.
+
https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.token_not_yet_valid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_not_yet_valid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_not_yet_valid",
+ "title": "token not yet valid",
+ "summary": "The bearer token `nbf` is in the future beyond the configured leeway.",
+ "description": "The bearer token `nbf` is in the future beyond the configured leeway.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/auth/token_signature_invalid.json b/public/problems/registry-relay/auth/token_signature_invalid.json
new file mode 100644
index 00000000..c8190184
--- /dev/null
+++ b/public/problems/registry-relay/auth/token_signature_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_signature_invalid",
+ "title": "token signature invalid",
+ "summary": "The bearer token signature did not verify against the resolved key.",
+ "description": "The bearer token signature did not verify against the resolved key.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/auth/token_signature_invalid/index.html b/public/problems/registry-relay/auth/token_signature_invalid/index.html
new file mode 100644
index 00000000..7991ee2a
--- /dev/null
+++ b/public/problems/registry-relay/auth/token_signature_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ token signature invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
token signature invalid
+
The bearer token signature did not verify against the resolved key.
+
https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code auth.token_signature_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/auth/token_signature_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "auth.token_signature_invalid",
+ "title": "token signature invalid",
+ "summary": "The bearer token signature did not verify against the resolved key.",
+ "description": "The bearer token signature did not verify against the resolved key.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/config/duplicate_id.json b/public/problems/registry-relay/config/duplicate_id.json
new file mode 100644
index 00000000..5848d090
--- /dev/null
+++ b/public/problems/registry-relay/config/duplicate_id.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/config/duplicate_id",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/duplicate_id",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.duplicate_id",
+ "title": "duplicate identifier in config",
+ "summary": "Two configured ids collide.",
+ "description": "Two configured ids collide.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/config/duplicate_id/index.html b/public/problems/registry-relay/config/duplicate_id/index.html
new file mode 100644
index 00000000..562b847b
--- /dev/null
+++ b/public/problems/registry-relay/config/duplicate_id/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ duplicate identifier in config | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
duplicate identifier in config
+
Two configured ids collide.
+
https://id.registrystack.org/problems/registry-relay/config/duplicate_id
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/config/duplicate_id
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code config.duplicate_id
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/duplicate_id",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/duplicate_id",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.duplicate_id",
+ "title": "duplicate identifier in config",
+ "summary": "Two configured ids collide.",
+ "description": "Two configured ids collide.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/config/missing_secret.json b/public/problems/registry-relay/config/missing_secret.json
new file mode 100644
index 00000000..03f8d105
--- /dev/null
+++ b/public/problems/registry-relay/config/missing_secret.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/config/missing_secret",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/missing_secret",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.missing_secret",
+ "title": "missing secret",
+ "summary": "A required hash environment variable is unset.",
+ "description": "A required hash environment variable is unset.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/config/missing_secret/index.html b/public/problems/registry-relay/config/missing_secret/index.html
new file mode 100644
index 00000000..bb8b3e0e
--- /dev/null
+++ b/public/problems/registry-relay/config/missing_secret/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ missing secret | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
missing secret
+
A required hash environment variable is unset.
+
https://id.registrystack.org/problems/registry-relay/config/missing_secret
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/config/missing_secret
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code config.missing_secret
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/missing_secret",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/missing_secret",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.missing_secret",
+ "title": "missing secret",
+ "summary": "A required hash environment variable is unset.",
+ "description": "A required hash environment variable is unset.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/config/parse_error.json b/public/problems/registry-relay/config/parse_error.json
new file mode 100644
index 00000000..8927e192
--- /dev/null
+++ b/public/problems/registry-relay/config/parse_error.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/config/parse_error",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/parse_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.parse_error",
+ "title": "config parse error",
+ "summary": "The configuration document did not deserialize.",
+ "description": "The configuration document did not deserialize.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/config/parse_error/index.html b/public/problems/registry-relay/config/parse_error/index.html
new file mode 100644
index 00000000..e4ae3c8e
--- /dev/null
+++ b/public/problems/registry-relay/config/parse_error/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ config parse error | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
config parse error
+
The configuration document did not deserialize.
+
https://id.registrystack.org/problems/registry-relay/config/parse_error
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/config/parse_error
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code config.parse_error
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/parse_error",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/parse_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.parse_error",
+ "title": "config parse error",
+ "summary": "The configuration document did not deserialize.",
+ "description": "The configuration document did not deserialize.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/config/validation_error.json b/public/problems/registry-relay/config/validation_error.json
new file mode 100644
index 00000000..da0e5501
--- /dev/null
+++ b/public/problems/registry-relay/config/validation_error.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/config/validation_error",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/validation_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.validation_error",
+ "title": "config validation error",
+ "summary": "The configuration failed cross-field validation.",
+ "description": "The configuration failed cross-field validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/config/validation_error/index.html b/public/problems/registry-relay/config/validation_error/index.html
new file mode 100644
index 00000000..35f354b3
--- /dev/null
+++ b/public/problems/registry-relay/config/validation_error/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ config validation error | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
config validation error
+
The configuration failed cross-field validation.
+
https://id.registrystack.org/problems/registry-relay/config/validation_error
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/config/validation_error
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code config.validation_error
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/config/validation_error",
+ "type": "https://id.registrystack.org/problems/registry-relay/config/validation_error",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "config.validation_error",
+ "title": "config validation error",
+ "summary": "The configuration failed cross-field validation.",
+ "description": "The configuration failed cross-field validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/consultation/denied.json b/public/problems/registry-relay/consultation/denied.json
index c76a34c9..626ce111 100644
--- a/public/problems/registry-relay/consultation/denied.json
+++ b/public/problems/registry-relay/consultation/denied.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/denied/index.html b/public/problems/registry-relay/consultation/denied/index.html
index b65c431d..2122c92b 100644
--- a/public/problems/registry-relay/consultation/denied/index.html
+++ b/public/problems/registry-relay/consultation/denied/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/invalid_request.json b/public/problems/registry-relay/consultation/invalid_request.json
index fa5eef8e..c606c33e 100644
--- a/public/problems/registry-relay/consultation/invalid_request.json
+++ b/public/problems/registry-relay/consultation/invalid_request.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/invalid_request/index.html b/public/problems/registry-relay/consultation/invalid_request/index.html
index 5e6a0eaa..4e0b5ff8 100644
--- a/public/problems/registry-relay/consultation/invalid_request/index.html
+++ b/public/problems/registry-relay/consultation/invalid_request/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/rate_limited.json b/public/problems/registry-relay/consultation/rate_limited.json
index 39bf36df..88ad8382 100644
--- a/public/problems/registry-relay/consultation/rate_limited.json
+++ b/public/problems/registry-relay/consultation/rate_limited.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/rate_limited/index.html b/public/problems/registry-relay/consultation/rate_limited/index.html
index ba54fa93..c6f03cb0 100644
--- a/public/problems/registry-relay/consultation/rate_limited/index.html
+++ b/public/problems/registry-relay/consultation/rate_limited/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/response_too_large.json b/public/problems/registry-relay/consultation/response_too_large.json
index 4cc91257..8403e454 100644
--- a/public/problems/registry-relay/consultation/response_too_large.json
+++ b/public/problems/registry-relay/consultation/response_too_large.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/response_too_large/index.html b/public/problems/registry-relay/consultation/response_too_large/index.html
index 1f2217df..d8e01aa3 100644
--- a/public/problems/registry-relay/consultation/response_too_large/index.html
+++ b/public/problems/registry-relay/consultation/response_too_large/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/unresolved.json b/public/problems/registry-relay/consultation/unresolved.json
index 52a0329d..3cbced43 100644
--- a/public/problems/registry-relay/consultation/unresolved.json
+++ b/public/problems/registry-relay/consultation/unresolved.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/unresolved/index.html b/public/problems/registry-relay/consultation/unresolved/index.html
index 682adc35..a21754a3 100644
--- a/public/problems/registry-relay/consultation/unresolved/index.html
+++ b/public/problems/registry-relay/consultation/unresolved/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/entity/filter_required.json b/public/problems/registry-relay/entity/filter_required.json
new file mode 100644
index 00000000..5355d774
--- /dev/null
+++ b/public/problems/registry-relay/entity/filter_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/entity/filter_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/entity/filter_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "entity.filter_required",
+ "title": "filter required",
+ "summary": "A row-collection read on an entity with `required_filters` received no qualifying filter.",
+ "description": "A row-collection read on an entity with `required_filters` received no qualifying filter.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/entity/filter_required/index.html b/public/problems/registry-relay/entity/filter_required/index.html
new file mode 100644
index 00000000..5a1e73cb
--- /dev/null
+++ b/public/problems/registry-relay/entity/filter_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ filter required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
filter required
+
A row-collection read on an entity with `required_filters` received no qualifying filter.
+
https://id.registrystack.org/problems/registry-relay/entity/filter_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/entity/filter_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code entity.filter_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/entity/filter_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/entity/filter_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "entity.filter_required",
+ "title": "filter required",
+ "summary": "A row-collection read on an entity with `required_filters` received no qualifying filter.",
+ "description": "A row-collection read on an entity with `required_filters` received no qualifying filter.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/filter/invalid_range.json b/public/problems/registry-relay/filter/invalid_range.json
new file mode 100644
index 00000000..7ce383f3
--- /dev/null
+++ b/public/problems/registry-relay/filter/invalid_range.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/invalid_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/invalid_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.invalid_range",
+ "title": "invalid range",
+ "summary": "The range bounds are inverted or invalid.",
+ "description": "The range bounds are inverted or invalid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/filter/invalid_range/index.html b/public/problems/registry-relay/filter/invalid_range/index.html
new file mode 100644
index 00000000..3d0f7886
--- /dev/null
+++ b/public/problems/registry-relay/filter/invalid_range/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ invalid range | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
invalid range
+
The range bounds are inverted or invalid.
+
https://id.registrystack.org/problems/registry-relay/filter/invalid_range
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/filter/invalid_range
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code filter.invalid_range
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/invalid_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/invalid_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.invalid_range",
+ "title": "invalid range",
+ "summary": "The range bounds are inverted or invalid.",
+ "description": "The range bounds are inverted or invalid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/filter/invalid_value.json b/public/problems/registry-relay/filter/invalid_value.json
index c349588a..a77acc85 100644
--- a/public/problems/registry-relay/filter/invalid_value.json
+++ b/public/problems/registry-relay/filter/invalid_value.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/filter/invalid_value/index.html b/public/problems/registry-relay/filter/invalid_value/index.html
index c3be27c9..b1f970cc 100644
--- a/public/problems/registry-relay/filter/invalid_value/index.html
+++ b/public/problems/registry-relay/filter/invalid_value/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/filter/limit_out_of_range.json b/public/problems/registry-relay/filter/limit_out_of_range.json
new file mode 100644
index 00000000..0c1a39e5
--- /dev/null
+++ b/public/problems/registry-relay/filter/limit_out_of_range.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.limit_out_of_range",
+ "title": "limit out of range",
+ "summary": "The limit exceeds the configured maximum or is non-positive.",
+ "description": "The limit exceeds the configured maximum or is non-positive.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/filter/limit_out_of_range/index.html b/public/problems/registry-relay/filter/limit_out_of_range/index.html
new file mode 100644
index 00000000..3fba5930
--- /dev/null
+++ b/public/problems/registry-relay/filter/limit_out_of_range/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ limit out of range | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
limit out of range
+
The limit exceeds the configured maximum or is non-positive.
+
https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code filter.limit_out_of_range
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/limit_out_of_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.limit_out_of_range",
+ "title": "limit out of range",
+ "summary": "The limit exceeds the configured maximum or is non-positive.",
+ "description": "The limit exceeds the configured maximum or is non-positive.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/filter/not_allowed.json b/public/problems/registry-relay/filter/not_allowed.json
new file mode 100644
index 00000000..9dff069c
--- /dev/null
+++ b/public/problems/registry-relay/filter/not_allowed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.not_allowed",
+ "title": "filter not allowed",
+ "summary": "The field is not in the resource's `allowed_filters` list.",
+ "description": "The field is not in the resource's `allowed_filters` list.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/filter/not_allowed/index.html b/public/problems/registry-relay/filter/not_allowed/index.html
new file mode 100644
index 00000000..74a60ea9
--- /dev/null
+++ b/public/problems/registry-relay/filter/not_allowed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ filter not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
filter not allowed
+
The field is not in the resource's `allowed_filters` list.
+
https://id.registrystack.org/problems/registry-relay/filter/not_allowed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/filter/not_allowed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code filter.not_allowed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/not_allowed",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/not_allowed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.not_allowed",
+ "title": "filter not allowed",
+ "summary": "The field is not in the resource's `allowed_filters` list.",
+ "description": "The field is not in the resource's `allowed_filters` list.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/filter/too_many_filters.json b/public/problems/registry-relay/filter/too_many_filters.json
new file mode 100644
index 00000000..295e4b15
--- /dev/null
+++ b/public/problems/registry-relay/filter/too_many_filters.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/too_many_filters",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/too_many_filters",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.too_many_filters",
+ "title": "too many filters",
+ "summary": "The request carries more filter parameters than the per-request cap allows.",
+ "description": "The request carries more filter parameters than the per-request cap allows.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/filter/too_many_filters/index.html b/public/problems/registry-relay/filter/too_many_filters/index.html
new file mode 100644
index 00000000..3d633d04
--- /dev/null
+++ b/public/problems/registry-relay/filter/too_many_filters/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ too many filters | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
too many filters
+
The request carries more filter parameters than the per-request cap allows.
+
https://id.registrystack.org/problems/registry-relay/filter/too_many_filters
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/filter/too_many_filters
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code filter.too_many_filters
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/too_many_filters",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/too_many_filters",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.too_many_filters",
+ "title": "too many filters",
+ "summary": "The request carries more filter parameters than the per-request cap allows.",
+ "description": "The request carries more filter parameters than the per-request cap allows.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/filter/too_many_values.json b/public/problems/registry-relay/filter/too_many_values.json
new file mode 100644
index 00000000..26e9ce2a
--- /dev/null
+++ b/public/problems/registry-relay/filter/too_many_values.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/too_many_values",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/too_many_values",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.too_many_values",
+ "title": "too many filter values",
+ "summary": "An in-list exceeds the configured maximum of 100 values.",
+ "description": "An in-list exceeds the configured maximum of 100 values.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/filter/too_many_values/index.html b/public/problems/registry-relay/filter/too_many_values/index.html
new file mode 100644
index 00000000..0fbd2e5e
--- /dev/null
+++ b/public/problems/registry-relay/filter/too_many_values/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ too many filter values | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
too many filter values
+
An in-list exceeds the configured maximum of 100 values.
+
https://id.registrystack.org/problems/registry-relay/filter/too_many_values
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/filter/too_many_values
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code filter.too_many_values
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/too_many_values",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/too_many_values",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.too_many_values",
+ "title": "too many filter values",
+ "summary": "An in-list exceeds the configured maximum of 100 values.",
+ "description": "An in-list exceeds the configured maximum of 100 values.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/filter/unknown_field.json b/public/problems/registry-relay/filter/unknown_field.json
index d017f70a..d7c0cec2 100644
--- a/public/problems/registry-relay/filter/unknown_field.json
+++ b/public/problems/registry-relay/filter/unknown_field.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/filter/unknown_field/index.html b/public/problems/registry-relay/filter/unknown_field/index.html
index 6195279b..9169d68f 100644
--- a/public/problems/registry-relay/filter/unknown_field/index.html
+++ b/public/problems/registry-relay/filter/unknown_field/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/filter/unsupported_op.json b/public/problems/registry-relay/filter/unsupported_op.json
new file mode 100644
index 00000000..d70bed17
--- /dev/null
+++ b/public/problems/registry-relay/filter/unsupported_op.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/unsupported_op",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/unsupported_op",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.unsupported_op",
+ "title": "unsupported operator",
+ "summary": "The operator is not allowed for the field.",
+ "description": "The operator is not allowed for the field.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/filter/unsupported_op/index.html b/public/problems/registry-relay/filter/unsupported_op/index.html
new file mode 100644
index 00000000..73dbaaa0
--- /dev/null
+++ b/public/problems/registry-relay/filter/unsupported_op/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ unsupported operator | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
unsupported operator
+
The operator is not allowed for the field.
+
https://id.registrystack.org/problems/registry-relay/filter/unsupported_op
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/filter/unsupported_op
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code filter.unsupported_op
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/filter/unsupported_op",
+ "type": "https://id.registrystack.org/problems/registry-relay/filter/unsupported_op",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "filter.unsupported_op",
+ "title": "unsupported operator",
+ "summary": "The operator is not allowed for the field.",
+ "description": "The operator is not allowed for the field.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/format/unsupported.json b/public/problems/registry-relay/format/unsupported.json
index 49adbe8e..8b214de8 100644
--- a/public/problems/registry-relay/format/unsupported.json
+++ b/public/problems/registry-relay/format/unsupported.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/format/unsupported/index.html b/public/problems/registry-relay/format/unsupported/index.html
index 5cc35df6..8a7972ee 100644
--- a/public/problems/registry-relay/format/unsupported/index.html
+++ b/public/problems/registry-relay/format/unsupported/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/ingest/cache_write_failed.json b/public/problems/registry-relay/ingest/cache_write_failed.json
new file mode 100644
index 00000000..702a54c2
--- /dev/null
+++ b/public/problems/registry-relay/ingest/cache_write_failed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.cache_write_failed",
+ "title": "cache write failed",
+ "summary": "The parquet cache could not be written.",
+ "description": "The parquet cache could not be written.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ingest/cache_write_failed/index.html b/public/problems/registry-relay/ingest/cache_write_failed/index.html
new file mode 100644
index 00000000..5e64396c
--- /dev/null
+++ b/public/problems/registry-relay/ingest/cache_write_failed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ cache write failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
cache write failed
+
The parquet cache could not be written.
+
https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ingest.cache_write_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/cache_write_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.cache_write_failed",
+ "title": "cache write failed",
+ "summary": "The parquet cache could not be written.",
+ "description": "The parquet cache could not be written.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ingest/registration_failed.json b/public/problems/registry-relay/ingest/registration_failed.json
new file mode 100644
index 00000000..ddcbd428
--- /dev/null
+++ b/public/problems/registry-relay/ingest/registration_failed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/registration_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/registration_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.registration_failed",
+ "title": "table registration failed",
+ "summary": "Table registration in the query engine failed.",
+ "description": "Table registration in the query engine failed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ingest/registration_failed/index.html b/public/problems/registry-relay/ingest/registration_failed/index.html
new file mode 100644
index 00000000..d2a10a0b
--- /dev/null
+++ b/public/problems/registry-relay/ingest/registration_failed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ table registration failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
table registration failed
+
Table registration in the query engine failed.
+
https://id.registrystack.org/problems/registry-relay/ingest/registration_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ingest/registration_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ingest.registration_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/registration_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/registration_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.registration_failed",
+ "title": "table registration failed",
+ "summary": "Table registration in the query engine failed.",
+ "description": "Table registration in the query engine failed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ingest/schema_mismatch.json b/public/problems/registry-relay/ingest/schema_mismatch.json
new file mode 100644
index 00000000..25b62324
--- /dev/null
+++ b/public/problems/registry-relay/ingest/schema_mismatch.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.schema_mismatch",
+ "title": "schema mismatch",
+ "summary": "The declared schema does not match observed columns or types.",
+ "description": "The declared schema does not match observed columns or types.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ingest/schema_mismatch/index.html b/public/problems/registry-relay/ingest/schema_mismatch/index.html
new file mode 100644
index 00000000..c5623a7e
--- /dev/null
+++ b/public/problems/registry-relay/ingest/schema_mismatch/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ schema mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
schema mismatch
+
The declared schema does not match observed columns or types.
+
https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ingest.schema_mismatch
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/schema_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.schema_mismatch",
+ "title": "schema mismatch",
+ "summary": "The declared schema does not match observed columns or types.",
+ "description": "The declared schema does not match observed columns or types.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ingest/source_not_found.json b/public/problems/registry-relay/ingest/source_not_found.json
new file mode 100644
index 00000000..bb5b9570
--- /dev/null
+++ b/public/problems/registry-relay/ingest/source_not_found.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/source_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/source_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.source_not_found",
+ "title": "source not found",
+ "summary": "A configured source is missing or unreadable.",
+ "description": "A configured source is missing or unreadable.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ingest/source_not_found/index.html b/public/problems/registry-relay/ingest/source_not_found/index.html
new file mode 100644
index 00000000..9b25cb0d
--- /dev/null
+++ b/public/problems/registry-relay/ingest/source_not_found/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ source not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
source not found
+
A configured source is missing or unreadable.
+
https://id.registrystack.org/problems/registry-relay/ingest/source_not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ingest/source_not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ingest.source_not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/source_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/source_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.source_not_found",
+ "title": "source not found",
+ "summary": "A configured source is missing or unreadable.",
+ "description": "A configured source is missing or unreadable.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ingest/source_unreadable.json b/public/problems/registry-relay/ingest/source_unreadable.json
new file mode 100644
index 00000000..5999501d
--- /dev/null
+++ b/public/problems/registry-relay/ingest/source_unreadable.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.source_unreadable",
+ "title": "source unreadable",
+ "summary": "A source could not be read or parsed.",
+ "description": "A source could not be read or parsed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ingest/source_unreadable/index.html b/public/problems/registry-relay/ingest/source_unreadable/index.html
new file mode 100644
index 00000000..f6d40b48
--- /dev/null
+++ b/public/problems/registry-relay/ingest/source_unreadable/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ source unreadable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
source unreadable
+
A source could not be read or parsed.
+
https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ingest.source_unreadable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/source_unreadable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.source_unreadable",
+ "title": "source unreadable",
+ "summary": "A source could not be read or parsed.",
+ "description": "A source could not be read or parsed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ingest/strict_extra_column.json b/public/problems/registry-relay/ingest/strict_extra_column.json
new file mode 100644
index 00000000..1b05541b
--- /dev/null
+++ b/public/problems/registry-relay/ingest/strict_extra_column.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.strict_extra_column",
+ "title": "strict schema rejected extra column",
+ "summary": "A source contains columns absent from a strict schema.",
+ "description": "A source contains columns absent from a strict schema.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ingest/strict_extra_column/index.html b/public/problems/registry-relay/ingest/strict_extra_column/index.html
new file mode 100644
index 00000000..2a757dda
--- /dev/null
+++ b/public/problems/registry-relay/ingest/strict_extra_column/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ strict schema rejected extra column | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
strict schema rejected extra column
+
A source contains columns absent from a strict schema.
+
https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ingest.strict_extra_column
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column",
+ "type": "https://id.registrystack.org/problems/registry-relay/ingest/strict_extra_column",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ingest.strict_extra_column",
+ "title": "strict schema rejected extra column",
+ "summary": "A source contains columns absent from a strict schema.",
+ "description": "A source contains columns absent from a strict schema.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/internal/payload_too_large.json b/public/problems/registry-relay/internal/payload_too_large.json
index 7e6d9a0c..069ea5a7 100644
--- a/public/problems/registry-relay/internal/payload_too_large.json
+++ b/public/problems/registry-relay/internal/payload_too_large.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/payload_too_large/index.html b/public/problems/registry-relay/internal/payload_too_large/index.html
index e9c147d9..717dfb69 100644
--- a/public/problems/registry-relay/internal/payload_too_large/index.html
+++ b/public/problems/registry-relay/internal/payload_too_large/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/timeout.json b/public/problems/registry-relay/internal/timeout.json
index f7013519..e946c683 100644
--- a/public/problems/registry-relay/internal/timeout.json
+++ b/public/problems/registry-relay/internal/timeout.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/timeout/index.html b/public/problems/registry-relay/internal/timeout/index.html
index 91fc3003..2b204bf4 100644
--- a/public/problems/registry-relay/internal/timeout/index.html
+++ b/public/problems/registry-relay/internal/timeout/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/unhandled.json b/public/problems/registry-relay/internal/unhandled.json
index c045e091..d63992e1 100644
--- a/public/problems/registry-relay/internal/unhandled.json
+++ b/public/problems/registry-relay/internal/unhandled.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/unhandled/index.html b/public/problems/registry-relay/internal/unhandled/index.html
index b2b33f47..fd2fe58e 100644
--- a/public/problems/registry-relay/internal/unhandled/index.html
+++ b/public/problems/registry-relay/internal/unhandled/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/uri_too_long.json b/public/problems/registry-relay/internal/uri_too_long.json
index a077e260..f9549009 100644
--- a/public/problems/registry-relay/internal/uri_too_long.json
+++ b/public/problems/registry-relay/internal/uri_too_long.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/uri_too_long/index.html b/public/problems/registry-relay/internal/uri_too_long/index.html
index f690fb65..d3b834a1 100644
--- a/public/problems/registry-relay/internal/uri_too_long/index.html
+++ b/public/problems/registry-relay/internal/uri_too_long/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/metadata/manifest/digest_invalid.json b/public/problems/registry-relay/metadata/manifest/digest_invalid.json
new file mode 100644
index 00000000..42de9294
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/digest_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_invalid",
+ "title": "metadata manifest digest invalid",
+ "summary": "The manifest digest is not valid.",
+ "description": "The manifest digest is not valid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/metadata/manifest/digest_invalid/index.html b/public/problems/registry-relay/metadata/manifest/digest_invalid/index.html
new file mode 100644
index 00000000..fe64b88c
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/digest_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ metadata manifest digest invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
metadata manifest digest invalid
+
The manifest digest is not valid.
+
https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code metadata.manifest.digest_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_invalid",
+ "title": "metadata manifest digest invalid",
+ "summary": "The manifest digest is not valid.",
+ "description": "The manifest digest is not valid.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/metadata/manifest/digest_mismatch.json b/public/problems/registry-relay/metadata/manifest/digest_mismatch.json
new file mode 100644
index 00000000..f4adc5c1
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/digest_mismatch.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_mismatch",
+ "title": "metadata manifest digest mismatch",
+ "summary": "The manifest digest did not match the configured digest.",
+ "description": "The manifest digest did not match the configured digest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/metadata/manifest/digest_mismatch/index.html b/public/problems/registry-relay/metadata/manifest/digest_mismatch/index.html
new file mode 100644
index 00000000..3cc6dbec
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/digest_mismatch/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ metadata manifest digest mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
metadata manifest digest mismatch
+
The manifest digest did not match the configured digest.
+
https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code metadata.manifest.digest_mismatch
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_mismatch",
+ "title": "metadata manifest digest mismatch",
+ "summary": "The manifest digest did not match the configured digest.",
+ "description": "The manifest digest did not match the configured digest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/metadata/manifest/digest_required.json b/public/problems/registry-relay/metadata/manifest/digest_required.json
new file mode 100644
index 00000000..c3cd73d0
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/digest_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_required",
+ "title": "metadata manifest digest required",
+ "summary": "Governed configuration requires a manifest digest.",
+ "description": "Governed configuration requires a manifest digest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/metadata/manifest/digest_required/index.html b/public/problems/registry-relay/metadata/manifest/digest_required/index.html
new file mode 100644
index 00000000..a4c8a5e9
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/digest_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ metadata manifest digest required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
metadata manifest digest required
+
Governed configuration requires a manifest digest.
+
https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code metadata.manifest.digest_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/digest_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_required",
+ "title": "metadata manifest digest required",
+ "summary": "Governed configuration requires a manifest digest.",
+ "description": "Governed configuration requires a manifest digest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/metadata/manifest/file_not_found.json b/public/problems/registry-relay/metadata/manifest/file_not_found.json
new file mode 100644
index 00000000..f8c0a68e
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/file_not_found.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.file_not_found",
+ "title": "metadata manifest file not found",
+ "summary": "The metadata manifest could not be read.",
+ "description": "The metadata manifest could not be read.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/metadata/manifest/file_not_found/index.html b/public/problems/registry-relay/metadata/manifest/file_not_found/index.html
new file mode 100644
index 00000000..b845b486
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/file_not_found/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ metadata manifest file not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
metadata manifest file not found
+
The metadata manifest could not be read.
+
https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code metadata.manifest.file_not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/file_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.file_not_found",
+ "title": "metadata manifest file not found",
+ "summary": "The metadata manifest could not be read.",
+ "description": "The metadata manifest could not be read.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/metadata/manifest/parse_failed.json b/public/problems/registry-relay/metadata/manifest/parse_failed.json
new file mode 100644
index 00000000..30cf8b88
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/parse_failed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.parse_failed",
+ "title": "metadata manifest parse failed",
+ "summary": "The metadata manifest did not deserialize.",
+ "description": "The metadata manifest did not deserialize.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/metadata/manifest/parse_failed/index.html b/public/problems/registry-relay/metadata/manifest/parse_failed/index.html
new file mode 100644
index 00000000..fa58a0c2
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/parse_failed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ metadata manifest parse failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
metadata manifest parse failed
+
The metadata manifest did not deserialize.
+
https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code metadata.manifest.parse_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/parse_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.parse_failed",
+ "title": "metadata manifest parse failed",
+ "summary": "The metadata manifest did not deserialize.",
+ "description": "The metadata manifest did not deserialize.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/metadata/manifest/validation_failed.json b/public/problems/registry-relay/metadata/manifest/validation_failed.json
new file mode 100644
index 00000000..9508034d
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/validation_failed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.validation_failed",
+ "title": "metadata manifest validation failed",
+ "summary": "The manifest failed semantic validation.",
+ "description": "The manifest failed semantic validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/metadata/manifest/validation_failed/index.html b/public/problems/registry-relay/metadata/manifest/validation_failed/index.html
new file mode 100644
index 00000000..5b92d953
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/validation_failed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ metadata manifest validation failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
metadata manifest validation failed
+
The manifest failed semantic validation.
+
https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code metadata.manifest.validation_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/validation_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.validation_failed",
+ "title": "metadata manifest validation failed",
+ "summary": "The manifest failed semantic validation.",
+ "description": "The manifest failed semantic validation.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/metadata/manifest/version_unsupported.json b/public/problems/registry-relay/metadata/manifest/version_unsupported.json
new file mode 100644
index 00000000..329c06d6
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/version_unsupported.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.version_unsupported",
+ "title": "metadata manifest version unsupported",
+ "summary": "The manifest `schema_version` is not supported.",
+ "description": "The manifest `schema_version` is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/metadata/manifest/version_unsupported/index.html b/public/problems/registry-relay/metadata/manifest/version_unsupported/index.html
new file mode 100644
index 00000000..e9dc00e7
--- /dev/null
+++ b/public/problems/registry-relay/metadata/manifest/version_unsupported/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ metadata manifest version unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
metadata manifest version unsupported
+
The manifest `schema_version` is not supported.
+
https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code metadata.manifest.version_unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/metadata/manifest/version_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "metadata.manifest.version_unsupported",
+ "title": "metadata manifest version unsupported",
+ "summary": "The manifest `schema_version` is not supported.",
+ "description": "The manifest `schema_version` is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ogc/collection_not_found.json b/public/problems/registry-relay/ogc/collection_not_found.json
new file mode 100644
index 00000000..fb8460b3
--- /dev/null
+++ b/public/problems/registry-relay/ogc/collection_not_found.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.collection_not_found",
+ "title": "ogc collection not found",
+ "summary": "The collection is not registered, spatially exposed, or visible to the caller.",
+ "description": "The collection is not registered, spatially exposed, or visible to the caller.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ogc/collection_not_found/index.html b/public/problems/registry-relay/ogc/collection_not_found/index.html
new file mode 100644
index 00000000..1bac7e95
--- /dev/null
+++ b/public/problems/registry-relay/ogc/collection_not_found/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ ogc collection not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
ogc collection not found
+
The collection is not registered, spatially exposed, or visible to the caller.
+
https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ogc.collection_not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/collection_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.collection_not_found",
+ "title": "ogc collection not found",
+ "summary": "The collection is not registered, spatially exposed, or visible to the caller.",
+ "description": "The collection is not registered, spatially exposed, or visible to the caller.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ogc/feature_not_found.json b/public/problems/registry-relay/ogc/feature_not_found.json
new file mode 100644
index 00000000..a862e86f
--- /dev/null
+++ b/public/problems/registry-relay/ogc/feature_not_found.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.feature_not_found",
+ "title": "ogc feature not found",
+ "summary": "The feature is not registered, visible, or within the required filter context.",
+ "description": "The feature is not registered, visible, or within the required filter context.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ogc/feature_not_found/index.html b/public/problems/registry-relay/ogc/feature_not_found/index.html
new file mode 100644
index 00000000..175b6d9d
--- /dev/null
+++ b/public/problems/registry-relay/ogc/feature_not_found/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ ogc feature not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
ogc feature not found
+
The feature is not registered, visible, or within the required filter context.
+
https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ogc.feature_not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/feature_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.feature_not_found",
+ "title": "ogc feature not found",
+ "summary": "The feature is not registered, visible, or within the required filter context.",
+ "description": "The feature is not registered, visible, or within the required filter context.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ogc/record_not_found.json b/public/problems/registry-relay/ogc/record_not_found.json
new file mode 100644
index 00000000..475c70ee
--- /dev/null
+++ b/public/problems/registry-relay/ogc/record_not_found.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/record_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/record_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.record_not_found",
+ "title": "ogc record not found",
+ "summary": "The record is not registered or visible to the caller.",
+ "description": "The record is not registered or visible to the caller.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ogc/record_not_found/index.html b/public/problems/registry-relay/ogc/record_not_found/index.html
new file mode 100644
index 00000000..25f15729
--- /dev/null
+++ b/public/problems/registry-relay/ogc/record_not_found/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ ogc record not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
ogc record not found
+
The record is not registered or visible to the caller.
+
https://id.registrystack.org/problems/registry-relay/ogc/record_not_found
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ogc/record_not_found
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ogc.record_not_found
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogc/record_not_found",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogc/record_not_found",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogc.record_not_found",
+ "title": "ogc record not found",
+ "summary": "The record is not registered or visible to the caller.",
+ "description": "The record is not registered or visible to the caller.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ogcapi/edr/config/feature_disabled.json b/public/problems/registry-relay/ogcapi/edr/config/feature_disabled.json
new file mode 100644
index 00000000..1ee7e5fa
--- /dev/null
+++ b/public/problems/registry-relay/ogcapi/edr/config/feature_disabled.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.edr.config.feature_disabled",
+ "title": "ogc api edr feature disabled",
+ "summary": "OGC API EDR config was set but the binary lacks the feature.",
+ "description": "OGC API EDR config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ogcapi/edr/config/feature_disabled/index.html b/public/problems/registry-relay/ogcapi/edr/config/feature_disabled/index.html
new file mode 100644
index 00000000..1927f683
--- /dev/null
+++ b/public/problems/registry-relay/ogcapi/edr/config/feature_disabled/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ ogc api edr feature disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
ogc api edr feature disabled
+
OGC API EDR config was set but the binary lacks the feature.
+
https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ogcapi.edr.config.feature_disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/edr/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.edr.config.feature_disabled",
+ "title": "ogc api edr feature disabled",
+ "summary": "OGC API EDR config was set but the binary lacks the feature.",
+ "description": "OGC API EDR config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ogcapi/features/config/feature_disabled.json b/public/problems/registry-relay/ogcapi/features/config/feature_disabled.json
new file mode 100644
index 00000000..f6407be3
--- /dev/null
+++ b/public/problems/registry-relay/ogcapi/features/config/feature_disabled.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.features.config.feature_disabled",
+ "title": "ogc api features feature disabled",
+ "summary": "OGC API Features config was set but the binary lacks the feature.",
+ "description": "OGC API Features config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ogcapi/features/config/feature_disabled/index.html b/public/problems/registry-relay/ogcapi/features/config/feature_disabled/index.html
new file mode 100644
index 00000000..c885ff7f
--- /dev/null
+++ b/public/problems/registry-relay/ogcapi/features/config/feature_disabled/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ ogc api features feature disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
ogc api features feature disabled
+
OGC API Features config was set but the binary lacks the feature.
+
https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ogcapi.features.config.feature_disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/features/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.features.config.feature_disabled",
+ "title": "ogc api features feature disabled",
+ "summary": "OGC API Features config was set but the binary lacks the feature.",
+ "description": "OGC API Features config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/ogcapi/records/config/feature_disabled.json b/public/problems/registry-relay/ogcapi/records/config/feature_disabled.json
new file mode 100644
index 00000000..05235ab2
--- /dev/null
+++ b/public/problems/registry-relay/ogcapi/records/config/feature_disabled.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.records.config.feature_disabled",
+ "title": "ogc api records feature disabled",
+ "summary": "OGC API Records config was set but the binary lacks the feature.",
+ "description": "OGC API Records config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/ogcapi/records/config/feature_disabled/index.html b/public/problems/registry-relay/ogcapi/records/config/feature_disabled/index.html
new file mode 100644
index 00000000..c2ea5c8c
--- /dev/null
+++ b/public/problems/registry-relay/ogcapi/records/config/feature_disabled/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ ogc api records feature disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
ogc api records feature disabled
+
OGC API Records config was set but the binary lacks the feature.
+
https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code ogcapi.records.config.feature_disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/ogcapi/records/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "ogcapi.records.config.feature_disabled",
+ "title": "ogc api records feature disabled",
+ "summary": "OGC API Records config was set but the binary lacks the feature.",
+ "description": "OGC API Records config was set but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/assurance_insufficient.json b/public/problems/registry-relay/pdp/assurance_insufficient.json
new file mode 100644
index 00000000..51ed0608
--- /dev/null
+++ b/public/problems/registry-relay/pdp/assurance_insufficient.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.assurance_insufficient",
+ "title": "assurance insufficient",
+ "summary": "The request assurance is insufficient for policy.",
+ "description": "The request assurance is insufficient for policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/assurance_insufficient/index.html b/public/problems/registry-relay/pdp/assurance_insufficient/index.html
new file mode 100644
index 00000000..8cb975a8
--- /dev/null
+++ b/public/problems/registry-relay/pdp/assurance_insufficient/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ assurance insufficient | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
assurance insufficient
+
The request assurance is insufficient for policy.
+
https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.assurance_insufficient
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/assurance_insufficient",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.assurance_insufficient",
+ "title": "assurance insufficient",
+ "summary": "The request assurance is insufficient for policy.",
+ "description": "The request assurance is insufficient for policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/consent_required.json b/public/problems/registry-relay/pdp/consent_required.json
new file mode 100644
index 00000000..49aa206f
--- /dev/null
+++ b/public/problems/registry-relay/pdp/consent_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/consent_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/consent_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.consent_required",
+ "title": "consent required",
+ "summary": "The policy requires a consent reference the request did not carry.",
+ "description": "The policy requires a consent reference the request did not carry.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/consent_required/index.html b/public/problems/registry-relay/pdp/consent_required/index.html
new file mode 100644
index 00000000..cadc0fe6
--- /dev/null
+++ b/public/problems/registry-relay/pdp/consent_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ consent required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
consent required
+
The policy requires a consent reference the request did not carry.
+
https://id.registrystack.org/problems/registry-relay/pdp/consent_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/consent_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.consent_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/consent_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/consent_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.consent_required",
+ "title": "consent required",
+ "summary": "The policy requires a consent reference the request did not carry.",
+ "description": "The policy requires a consent reference the request did not carry.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/evidence_stale.json b/public/problems/registry-relay/pdp/evidence_stale.json
new file mode 100644
index 00000000..e5fa1951
--- /dev/null
+++ b/public/problems/registry-relay/pdp/evidence_stale.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.evidence_stale",
+ "title": "evidence stale",
+ "summary": "The source evidence is too old for policy.",
+ "description": "The source evidence is too old for policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/evidence_stale/index.html b/public/problems/registry-relay/pdp/evidence_stale/index.html
new file mode 100644
index 00000000..a249fdbd
--- /dev/null
+++ b/public/problems/registry-relay/pdp/evidence_stale/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ evidence stale | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
evidence stale
+
The source evidence is too old for policy.
+
https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.evidence_stale
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/evidence_stale",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.evidence_stale",
+ "title": "evidence stale",
+ "summary": "The source evidence is too old for policy.",
+ "description": "The source evidence is too old for policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/jurisdiction_not_permitted.json b/public/problems/registry-relay/pdp/jurisdiction_not_permitted.json
new file mode 100644
index 00000000..eba81a06
--- /dev/null
+++ b/public/problems/registry-relay/pdp/jurisdiction_not_permitted.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.jurisdiction_not_permitted",
+ "title": "jurisdiction not permitted",
+ "summary": "The request jurisdiction is not permitted by policy.",
+ "description": "The request jurisdiction is not permitted by policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/jurisdiction_not_permitted/index.html b/public/problems/registry-relay/pdp/jurisdiction_not_permitted/index.html
new file mode 100644
index 00000000..b351429c
--- /dev/null
+++ b/public/problems/registry-relay/pdp/jurisdiction_not_permitted/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ jurisdiction not permitted | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
jurisdiction not permitted
+
The request jurisdiction is not permitted by policy.
+
https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.jurisdiction_not_permitted
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/jurisdiction_not_permitted",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.jurisdiction_not_permitted",
+ "title": "jurisdiction not permitted",
+ "summary": "The request jurisdiction is not permitted by policy.",
+ "description": "The request jurisdiction is not permitted by policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/legal_basis_required.json b/public/problems/registry-relay/pdp/legal_basis_required.json
new file mode 100644
index 00000000..9824bcf5
--- /dev/null
+++ b/public/problems/registry-relay/pdp/legal_basis_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.legal_basis_required",
+ "title": "legal basis required",
+ "summary": "The policy requires a legal basis the request did not carry.",
+ "description": "The policy requires a legal basis the request did not carry.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/legal_basis_required/index.html b/public/problems/registry-relay/pdp/legal_basis_required/index.html
new file mode 100644
index 00000000..675c091a
--- /dev/null
+++ b/public/problems/registry-relay/pdp/legal_basis_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ legal basis required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
legal basis required
+
The policy requires a legal basis the request did not carry.
+
https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.legal_basis_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/legal_basis_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.legal_basis_required",
+ "title": "legal basis required",
+ "summary": "The policy requires a legal basis the request did not carry.",
+ "description": "The policy requires a legal basis the request did not carry.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/policy_hash_invalid.json b/public/problems/registry-relay/pdp/policy_hash_invalid.json
new file mode 100644
index 00000000..e9c35659
--- /dev/null
+++ b/public/problems/registry-relay/pdp/policy_hash_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_hash_invalid",
+ "title": "policy hash invalid",
+ "summary": "The policy hash did not validate.",
+ "description": "The policy hash did not validate.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/policy_hash_invalid/index.html b/public/problems/registry-relay/pdp/policy_hash_invalid/index.html
new file mode 100644
index 00000000..51dd522b
--- /dev/null
+++ b/public/problems/registry-relay/pdp/policy_hash_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ policy hash invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
policy hash invalid
+
The policy hash did not validate.
+
https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.policy_hash_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_hash_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_hash_invalid",
+ "title": "policy hash invalid",
+ "summary": "The policy hash did not validate.",
+ "description": "The policy hash did not validate.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/policy_id_required.json b/public/problems/registry-relay/pdp/policy_id_required.json
new file mode 100644
index 00000000..497b3eb3
--- /dev/null
+++ b/public/problems/registry-relay/pdp/policy_id_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_id_required",
+ "title": "policy id required",
+ "summary": "The policy identity is required but absent.",
+ "description": "The policy identity is required but absent.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/policy_id_required/index.html b/public/problems/registry-relay/pdp/policy_id_required/index.html
new file mode 100644
index 00000000..dbebcbd0
--- /dev/null
+++ b/public/problems/registry-relay/pdp/policy_id_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ policy id required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
policy id required
+
The policy identity is required but absent.
+
https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.policy_id_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_id_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_id_required",
+ "title": "policy id required",
+ "summary": "The policy identity is required but absent.",
+ "description": "The policy identity is required but absent.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/policy_required.json b/public/problems/registry-relay/pdp/policy_required.json
new file mode 100644
index 00000000..a4b560e8
--- /dev/null
+++ b/public/problems/registry-relay/pdp/policy_required.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_required",
+ "title": "policy required",
+ "summary": "An enforceable policy constraint is required but absent.",
+ "description": "An enforceable policy constraint is required but absent.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/policy_required/index.html b/public/problems/registry-relay/pdp/policy_required/index.html
new file mode 100644
index 00000000..477903f9
--- /dev/null
+++ b/public/problems/registry-relay/pdp/policy_required/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ policy required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
policy required
+
An enforceable policy constraint is required but absent.
+
https://id.registrystack.org/problems/registry-relay/pdp/policy_required
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/policy_required
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.policy_required
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/policy_required",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/policy_required",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.policy_required",
+ "title": "policy required",
+ "summary": "An enforceable policy constraint is required but absent.",
+ "description": "An enforceable policy constraint is required but absent.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/purpose_not_permitted.json b/public/problems/registry-relay/pdp/purpose_not_permitted.json
new file mode 100644
index 00000000..66542c4c
--- /dev/null
+++ b/public/problems/registry-relay/pdp/purpose_not_permitted.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.purpose_not_permitted",
+ "title": "purpose not permitted",
+ "summary": "The request purpose is not permitted by policy.",
+ "description": "The request purpose is not permitted by policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/purpose_not_permitted/index.html b/public/problems/registry-relay/pdp/purpose_not_permitted/index.html
new file mode 100644
index 00000000..256ed7ff
--- /dev/null
+++ b/public/problems/registry-relay/pdp/purpose_not_permitted/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ purpose not permitted | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
purpose not permitted
+
The request purpose is not permitted by policy.
+
https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.purpose_not_permitted
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/purpose_not_permitted",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.purpose_not_permitted",
+ "title": "purpose not permitted",
+ "summary": "The request purpose is not permitted by policy.",
+ "description": "The request purpose is not permitted by policy.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/pdp/unsupported_policy_term.json b/public/problems/registry-relay/pdp/unsupported_policy_term.json
new file mode 100644
index 00000000..91aaa3d8
--- /dev/null
+++ b/public/problems/registry-relay/pdp/unsupported_policy_term.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.unsupported_policy_term",
+ "title": "unsupported policy term",
+ "summary": "The policy contains a term the service cannot enforce.",
+ "description": "The policy contains a term the service cannot enforce.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/pdp/unsupported_policy_term/index.html b/public/problems/registry-relay/pdp/unsupported_policy_term/index.html
new file mode 100644
index 00000000..dd738429
--- /dev/null
+++ b/public/problems/registry-relay/pdp/unsupported_policy_term/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ unsupported policy term | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
unsupported policy term
+
The policy contains a term the service cannot enforce.
+
https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code pdp.unsupported_policy_term
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term",
+ "type": "https://id.registrystack.org/problems/registry-relay/pdp/unsupported_policy_term",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "pdp.unsupported_policy_term",
+ "title": "unsupported policy term",
+ "summary": "The policy contains a term the service cannot enforce.",
+ "description": "The policy contains a term the service cannot enforce.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/algorithm_unsupported.json b/public/problems/registry-relay/provenance/config/algorithm_unsupported.json
new file mode 100644
index 00000000..276aca69
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/algorithm_unsupported.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.algorithm_unsupported",
+ "title": "provenance signing algorithm unsupported",
+ "summary": "`signing_algorithm` is not EdDSA or ES256.",
+ "description": "`signing_algorithm` is not EdDSA or ES256.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/algorithm_unsupported/index.html b/public/problems/registry-relay/provenance/config/algorithm_unsupported/index.html
new file mode 100644
index 00000000..cea9bf05
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/algorithm_unsupported/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance signing algorithm unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance signing algorithm unsupported
+
`signing_algorithm` is not EdDSA or ES256.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.algorithm_unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/algorithm_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.algorithm_unsupported",
+ "title": "provenance signing algorithm unsupported",
+ "summary": "`signing_algorithm` is not EdDSA or ES256.",
+ "description": "`signing_algorithm` is not EdDSA or ES256.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/claim_validity_out_of_range.json b/public/problems/registry-relay/provenance/config/claim_validity_out_of_range.json
new file mode 100644
index 00000000..298f8091
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/claim_validity_out_of_range.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.claim_validity_out_of_range",
+ "title": "provenance claim validity out of range",
+ "summary": "Claim validity is below 1 minute or above 365 days.",
+ "description": "Claim validity is below 1 minute or above 365 days.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/claim_validity_out_of_range/index.html b/public/problems/registry-relay/provenance/config/claim_validity_out_of_range/index.html
new file mode 100644
index 00000000..06bb3a09
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/claim_validity_out_of_range/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance claim validity out of range | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance claim validity out of range
+
Claim validity is below 1 minute or above 365 days.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.claim_validity_out_of_range
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/claim_validity_out_of_range",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.claim_validity_out_of_range",
+ "title": "provenance claim validity out of range",
+ "summary": "Claim validity is below 1 minute or above 365 days.",
+ "description": "Claim validity is below 1 minute or above 365 days.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/context_base_url_invalid.json b/public/problems/registry-relay/provenance/config/context_base_url_invalid.json
new file mode 100644
index 00000000..9c3513de
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/context_base_url_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.context_base_url_invalid",
+ "title": "provenance context base url invalid",
+ "summary": "`context_base_url` is not a valid http or https URL.",
+ "description": "`context_base_url` is not a valid http or https URL.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/context_base_url_invalid/index.html b/public/problems/registry-relay/provenance/config/context_base_url_invalid/index.html
new file mode 100644
index 00000000..924364a3
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/context_base_url_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance context base url invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance context base url invalid
+
`context_base_url` is not a valid http or https URL.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.context_base_url_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/context_base_url_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.context_base_url_invalid",
+ "title": "provenance context base url invalid",
+ "summary": "`context_base_url` is not a valid http or https URL.",
+ "description": "`context_base_url` is not a valid http or https URL.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/issuer_did_mismatch.json b/public/problems/registry-relay/provenance/config/issuer_did_mismatch.json
new file mode 100644
index 00000000..e54f8f06
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/issuer_did_mismatch.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.issuer_did_mismatch",
+ "title": "provenance issuer did mismatch",
+ "summary": "The configured issuer DID does not match the deployment host.",
+ "description": "The configured issuer DID does not match the deployment host.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/issuer_did_mismatch/index.html b/public/problems/registry-relay/provenance/config/issuer_did_mismatch/index.html
new file mode 100644
index 00000000..b3d82c77
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/issuer_did_mismatch/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance issuer did mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance issuer did mismatch
+
The configured issuer DID does not match the deployment host.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.issuer_did_mismatch
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/issuer_did_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.issuer_did_mismatch",
+ "title": "provenance issuer did mismatch",
+ "summary": "The configured issuer DID does not match the deployment host.",
+ "description": "The configured issuer DID does not match the deployment host.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/jwk_env_missing.json b/public/problems/registry-relay/provenance/config/jwk_env_missing.json
new file mode 100644
index 00000000..666a2b64
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/jwk_env_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.jwk_env_missing",
+ "title": "provenance jwk_env missing",
+ "summary": "The configured signing key material is unavailable.",
+ "description": "The configured signing key material is unavailable.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/jwk_env_missing/index.html b/public/problems/registry-relay/provenance/config/jwk_env_missing/index.html
new file mode 100644
index 00000000..7ac1e81c
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/jwk_env_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance jwk_env missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance jwk_env missing
+
The configured signing key material is unavailable.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.jwk_env_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/jwk_env_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.jwk_env_missing",
+ "title": "provenance jwk_env missing",
+ "summary": "The configured signing key material is unavailable.",
+ "description": "The configured signing key material is unavailable.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/missing_issuer.json b/public/problems/registry-relay/provenance/config/missing_issuer.json
new file mode 100644
index 00000000..71a5422f
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/missing_issuer.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.missing_issuer",
+ "title": "provenance issuer missing",
+ "summary": "Provenance is enabled but no issuer block resolved.",
+ "description": "Provenance is enabled but no issuer block resolved.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/missing_issuer/index.html b/public/problems/registry-relay/provenance/config/missing_issuer/index.html
new file mode 100644
index 00000000..51325a8a
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/missing_issuer/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance issuer missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance issuer missing
+
Provenance is enabled but no issuer block resolved.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.missing_issuer
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/missing_issuer",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.missing_issuer",
+ "title": "provenance issuer missing",
+ "summary": "Provenance is enabled but no issuer block resolved.",
+ "description": "Provenance is enabled but no issuer block resolved.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/schema_base_url_invalid.json b/public/problems/registry-relay/provenance/config/schema_base_url_invalid.json
new file mode 100644
index 00000000..d4090fde
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/schema_base_url_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.schema_base_url_invalid",
+ "title": "provenance schema base url invalid",
+ "summary": "`schema_base_url` is not a valid http or https URL.",
+ "description": "`schema_base_url` is not a valid http or https URL.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/schema_base_url_invalid/index.html b/public/problems/registry-relay/provenance/config/schema_base_url_invalid/index.html
new file mode 100644
index 00000000..6697a8ba
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/schema_base_url_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance schema base url invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance schema base url invalid
+
`schema_base_url` is not a valid http or https URL.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.schema_base_url_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/schema_base_url_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.schema_base_url_invalid",
+ "title": "provenance schema base url invalid",
+ "summary": "`schema_base_url` is not a valid http or https URL.",
+ "description": "`schema_base_url` is not a valid http or https URL.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/signer_kind_invalid.json b/public/problems/registry-relay/provenance/config/signer_kind_invalid.json
new file mode 100644
index 00000000..3e81e0ea
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/signer_kind_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.signer_kind_invalid",
+ "title": "provenance signer kind invalid",
+ "summary": "The signer kind is not `software` or `file_watch`.",
+ "description": "The signer kind is not `software` or `file_watch`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/signer_kind_invalid/index.html b/public/problems/registry-relay/provenance/config/signer_kind_invalid/index.html
new file mode 100644
index 00000000..b51bdaf5
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/signer_kind_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance signer kind invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance signer kind invalid
+
The signer kind is not `software` or `file_watch`.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.signer_kind_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/signer_kind_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.signer_kind_invalid",
+ "title": "provenance signer kind invalid",
+ "summary": "The signer kind is not `software` or `file_watch`.",
+ "description": "The signer kind is not `software` or `file_watch`.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/config/verification_method_mismatch.json b/public/problems/registry-relay/provenance/config/verification_method_mismatch.json
new file mode 100644
index 00000000..d8a0d5af
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/verification_method_mismatch.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.verification_method_mismatch",
+ "title": "provenance verification method mismatch",
+ "summary": "`verification_method_id` does not start with the issuer DID plus a fragment.",
+ "description": "`verification_method_id` does not start with the issuer DID plus a fragment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/config/verification_method_mismatch/index.html b/public/problems/registry-relay/provenance/config/verification_method_mismatch/index.html
new file mode 100644
index 00000000..74795c84
--- /dev/null
+++ b/public/problems/registry-relay/provenance/config/verification_method_mismatch/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance verification method mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance verification method mismatch
+
`verification_method_id` does not start with the issuer DID plus a fragment.
+
https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.config.verification_method_mismatch
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/config/verification_method_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.config.verification_method_mismatch",
+ "title": "provenance verification method mismatch",
+ "summary": "`verification_method_id` does not start with the issuer DID plus a fragment.",
+ "description": "`verification_method_id` does not start with the issuer DID plus a fragment.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/did_document_unavailable.json b/public/problems/registry-relay/provenance/did_document_unavailable.json
new file mode 100644
index 00000000..4b1603c0
--- /dev/null
+++ b/public/problems/registry-relay/provenance/did_document_unavailable.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.did_document_unavailable",
+ "title": "provenance did document unavailable",
+ "summary": "The deployment does not host a `did:web` document.",
+ "description": "The deployment does not host a `did:web` document.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/did_document_unavailable/index.html b/public/problems/registry-relay/provenance/did_document_unavailable/index.html
new file mode 100644
index 00000000..5782973d
--- /dev/null
+++ b/public/problems/registry-relay/provenance/did_document_unavailable/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance did document unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance did document unavailable
+
The deployment does not host a `did:web` document.
+
https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.did_document_unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/did_document_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.did_document_unavailable",
+ "title": "provenance did document unavailable",
+ "summary": "The deployment does not host a `did:web` document.",
+ "description": "The deployment does not host a `did:web` document.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/issuance_failed.json b/public/problems/registry-relay/provenance/issuance_failed.json
new file mode 100644
index 00000000..222d7b88
--- /dev/null
+++ b/public/problems/registry-relay/provenance/issuance_failed.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.issuance_failed",
+ "title": "provenance issuance failed",
+ "summary": "The request could not be served as a verifiable credential.",
+ "description": "The request could not be served as a verifiable credential.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/issuance_failed/index.html b/public/problems/registry-relay/provenance/issuance_failed/index.html
new file mode 100644
index 00000000..3aa71705
--- /dev/null
+++ b/public/problems/registry-relay/provenance/issuance_failed/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance issuance failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance issuance failed
+
The request could not be served as a verifiable credential.
+
https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.issuance_failed
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/issuance_failed",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.issuance_failed",
+ "title": "provenance issuance failed",
+ "summary": "The request could not be served as a verifiable credential.",
+ "description": "The request could not be served as a verifiable credential.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/signer_unavailable.json b/public/problems/registry-relay/provenance/signer_unavailable.json
new file mode 100644
index 00000000..a86294e2
--- /dev/null
+++ b/public/problems/registry-relay/provenance/signer_unavailable.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.signer_unavailable",
+ "title": "provenance signer unavailable",
+ "summary": "The configured signing backend is not currently available.",
+ "description": "The configured signing backend is not currently available.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/signer_unavailable/index.html b/public/problems/registry-relay/provenance/signer_unavailable/index.html
new file mode 100644
index 00000000..b61761ec
--- /dev/null
+++ b/public/problems/registry-relay/provenance/signer_unavailable/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance signer unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance signer unavailable
+
The configured signing backend is not currently available.
+
https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.signer_unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/signer_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.signer_unavailable",
+ "title": "provenance signer unavailable",
+ "summary": "The configured signing backend is not currently available.",
+ "description": "The configured signing backend is not currently available.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/provenance/unknown_resource.json b/public/problems/registry-relay/provenance/unknown_resource.json
new file mode 100644
index 00000000..94ef0005
--- /dev/null
+++ b/public/problems/registry-relay/provenance/unknown_resource.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.unknown_resource",
+ "title": "provenance unknown claim type or version",
+ "summary": "No resource is registered for the requested claim type or version.",
+ "description": "No resource is registered for the requested claim type or version.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/provenance/unknown_resource/index.html b/public/problems/registry-relay/provenance/unknown_resource/index.html
new file mode 100644
index 00000000..3b09187c
--- /dev/null
+++ b/public/problems/registry-relay/provenance/unknown_resource/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ provenance unknown claim type or version | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
provenance unknown claim type or version
+
No resource is registered for the requested claim type or version.
+
https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code provenance.unknown_resource
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/provenance/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "provenance.unknown_resource",
+ "title": "provenance unknown claim type or version",
+ "summary": "No resource is registered for the requested claim type or version.",
+ "description": "No resource is registered for the requested claim type or version.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/publicschema/config/feature_disabled.json b/public/problems/registry-relay/publicschema/config/feature_disabled.json
new file mode 100644
index 00000000..9f8b9eaa
--- /dev/null
+++ b/public/problems/registry-relay/publicschema/config/feature_disabled.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "publicschema.config.feature_disabled",
+ "title": "publicschema cel feature disabled",
+ "summary": "PublicSchema CEL mapping was configured but the binary lacks the feature.",
+ "description": "PublicSchema CEL mapping was configured but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/publicschema/config/feature_disabled/index.html b/public/problems/registry-relay/publicschema/config/feature_disabled/index.html
new file mode 100644
index 00000000..98cccadc
--- /dev/null
+++ b/public/problems/registry-relay/publicschema/config/feature_disabled/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ publicschema cel feature disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
publicschema cel feature disabled
+
PublicSchema CEL mapping was configured but the binary lacks the feature.
+
https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code publicschema.config.feature_disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/publicschema/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "publicschema.config.feature_disabled",
+ "title": "publicschema cel feature disabled",
+ "summary": "PublicSchema CEL mapping was configured but the binary lacks the feature.",
+ "description": "PublicSchema CEL mapping was configured but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/query/cursor_invalid.json b/public/problems/registry-relay/query/cursor_invalid.json
index b6c0313b..7ca67361 100644
--- a/public/problems/registry-relay/query/cursor_invalid.json
+++ b/public/problems/registry-relay/query/cursor_invalid.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/query/cursor_invalid/index.html b/public/problems/registry-relay/query/cursor_invalid/index.html
index 24731b85..74f6b202 100644
--- a/public/problems/registry-relay/query/cursor_invalid/index.html
+++ b/public/problems/registry-relay/query/cursor_invalid/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/request/access_profile_invalid.json b/public/problems/registry-relay/request/access_profile_invalid.json
index bcb3fa04..90143706 100644
--- a/public/problems/registry-relay/request/access_profile_invalid.json
+++ b/public/problems/registry-relay/request/access_profile_invalid.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/request/access_profile_invalid/index.html b/public/problems/registry-relay/request/access_profile_invalid/index.html
index c237e19a..666033b0 100644
--- a/public/problems/registry-relay/request/access_profile_invalid/index.html
+++ b/public/problems/registry-relay/request/access_profile_invalid/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/request/fields_invalid.json b/public/problems/registry-relay/request/fields_invalid.json
index 032a88c1..a4b7defe 100644
--- a/public/problems/registry-relay/request/fields_invalid.json
+++ b/public/problems/registry-relay/request/fields_invalid.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/request/fields_invalid/index.html b/public/problems/registry-relay/request/fields_invalid/index.html
index c1523e15..b6570036 100644
--- a/public/problems/registry-relay/request/fields_invalid/index.html
+++ b/public/problems/registry-relay/request/fields_invalid/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/request/media_type_unsupported.json b/public/problems/registry-relay/request/media_type_unsupported.json
index bddb329d..873cdfe8 100644
--- a/public/problems/registry-relay/request/media_type_unsupported.json
+++ b/public/problems/registry-relay/request/media_type_unsupported.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/request/media_type_unsupported/index.html b/public/problems/registry-relay/request/media_type_unsupported/index.html
index 90af2e93..5a024e10 100644
--- a/public/problems/registry-relay/request/media_type_unsupported/index.html
+++ b/public/problems/registry-relay/request/media_type_unsupported/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/resource/not_found.json b/public/problems/registry-relay/resource/not_found.json
index 6874835f..c62e70aa 100644
--- a/public/problems/registry-relay/resource/not_found.json
+++ b/public/problems/registry-relay/resource/not_found.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/resource/not_found/index.html b/public/problems/registry-relay/resource/not_found/index.html
index 03c26a97..9138c7a9 100644
--- a/public/problems/registry-relay/resource/not_found/index.html
+++ b/public/problems/registry-relay/resource/not_found/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/runtime/binding/dataset_missing.json b/public/problems/registry-relay/runtime/binding/dataset_missing.json
new file mode 100644
index 00000000..da4fb6cf
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/dataset_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.dataset_missing",
+ "title": "runtime dataset missing from metadata",
+ "summary": "A runtime dataset id is absent from the metadata manifest.",
+ "description": "A runtime dataset id is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/dataset_missing/index.html b/public/problems/registry-relay/runtime/binding/dataset_missing/index.html
new file mode 100644
index 00000000..e13b3180
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/dataset_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime dataset missing from metadata | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime dataset missing from metadata
+
A runtime dataset id is absent from the metadata manifest.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.dataset_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/dataset_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.dataset_missing",
+ "title": "runtime dataset missing from metadata",
+ "summary": "A runtime dataset id is absent from the metadata manifest.",
+ "description": "A runtime dataset id is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/ecosystem_binding_invalid.json b/public/problems/registry-relay/runtime/binding/ecosystem_binding_invalid.json
new file mode 100644
index 00000000..ff7fa780
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/ecosystem_binding_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.ecosystem_binding_invalid",
+ "title": "runtime ecosystem binding is invalid",
+ "summary": "The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.",
+ "description": "The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/ecosystem_binding_invalid/index.html b/public/problems/registry-relay/runtime/binding/ecosystem_binding_invalid/index.html
new file mode 100644
index 00000000..2369ab6d
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/ecosystem_binding_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime ecosystem binding is invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime ecosystem binding is invalid
+
The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.ecosystem_binding_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.ecosystem_binding_invalid",
+ "title": "runtime ecosystem binding is invalid",
+ "summary": "The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.",
+ "description": "The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/ecosystem_binding_missing.json b/public/problems/registry-relay/runtime/binding/ecosystem_binding_missing.json
new file mode 100644
index 00000000..7c5bafeb
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/ecosystem_binding_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.ecosystem_binding_missing",
+ "title": "runtime ecosystem binding missing from metadata",
+ "summary": "The configured ecosystem binding selector is absent from the metadata manifest.",
+ "description": "The configured ecosystem binding selector is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/ecosystem_binding_missing/index.html b/public/problems/registry-relay/runtime/binding/ecosystem_binding_missing/index.html
new file mode 100644
index 00000000..aea67bb9
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/ecosystem_binding_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime ecosystem binding missing from metadata | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime ecosystem binding missing from metadata
+
The configured ecosystem binding selector is absent from the metadata manifest.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.ecosystem_binding_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/ecosystem_binding_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.ecosystem_binding_missing",
+ "title": "runtime ecosystem binding missing from metadata",
+ "summary": "The configured ecosystem binding selector is absent from the metadata manifest.",
+ "description": "The configured ecosystem binding selector is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/entity_missing.json b/public/problems/registry-relay/runtime/binding/entity_missing.json
new file mode 100644
index 00000000..dc3d30e9
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/entity_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.entity_missing",
+ "title": "runtime entity missing from metadata",
+ "summary": "A runtime entity name is absent from the metadata manifest.",
+ "description": "A runtime entity name is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/entity_missing/index.html b/public/problems/registry-relay/runtime/binding/entity_missing/index.html
new file mode 100644
index 00000000..ee52a902
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/entity_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime entity missing from metadata | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime entity missing from metadata
+
A runtime entity name is absent from the metadata manifest.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.entity_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/entity_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.entity_missing",
+ "title": "runtime entity missing from metadata",
+ "summary": "A runtime entity name is absent from the metadata manifest.",
+ "description": "A runtime entity name is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/field_missing.json b/public/problems/registry-relay/runtime/binding/field_missing.json
new file mode 100644
index 00000000..8a123278
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/field_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.field_missing",
+ "title": "runtime field missing from metadata",
+ "summary": "A runtime field binding is absent from the metadata manifest.",
+ "description": "A runtime field binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/field_missing/index.html b/public/problems/registry-relay/runtime/binding/field_missing/index.html
new file mode 100644
index 00000000..abf90374
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/field_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime field missing from metadata | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime field missing from metadata
+
A runtime field binding is absent from the metadata manifest.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.field_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/field_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.field_missing",
+ "title": "runtime field missing from metadata",
+ "summary": "A runtime field binding is absent from the metadata manifest.",
+ "description": "A runtime field binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/filter_missing.json b/public/problems/registry-relay/runtime/binding/filter_missing.json
new file mode 100644
index 00000000..9ac759c0
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/filter_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.filter_missing",
+ "title": "runtime filter missing from metadata",
+ "summary": "A runtime filter binding is absent from the metadata manifest.",
+ "description": "A runtime filter binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/filter_missing/index.html b/public/problems/registry-relay/runtime/binding/filter_missing/index.html
new file mode 100644
index 00000000..6ce2e8a4
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/filter_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime filter missing from metadata | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime filter missing from metadata
+
A runtime filter binding is absent from the metadata manifest.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.filter_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/filter_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.filter_missing",
+ "title": "runtime filter missing from metadata",
+ "summary": "A runtime filter binding is absent from the metadata manifest.",
+ "description": "A runtime filter binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/relationship_missing.json b/public/problems/registry-relay/runtime/binding/relationship_missing.json
new file mode 100644
index 00000000..9d26fd2e
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/relationship_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.relationship_missing",
+ "title": "runtime relationship missing from metadata",
+ "summary": "A runtime relationship binding is absent from the metadata manifest.",
+ "description": "A runtime relationship binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/relationship_missing/index.html b/public/problems/registry-relay/runtime/binding/relationship_missing/index.html
new file mode 100644
index 00000000..550c8287
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/relationship_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime relationship missing from metadata | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime relationship missing from metadata
+
A runtime relationship binding is absent from the metadata manifest.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.relationship_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/relationship_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.relationship_missing",
+ "title": "runtime relationship missing from metadata",
+ "summary": "A runtime relationship binding is absent from the metadata manifest.",
+ "description": "A runtime relationship binding is absent from the metadata manifest.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/scope_missing.json b/public/problems/registry-relay/runtime/binding/scope_missing.json
new file mode 100644
index 00000000..5e50f30c
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/scope_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.scope_missing",
+ "title": "runtime scope missing or invalid",
+ "summary": "A runtime scope is missing or uses an unsupported shape.",
+ "description": "A runtime scope is missing or uses an unsupported shape.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/scope_missing/index.html b/public/problems/registry-relay/runtime/binding/scope_missing/index.html
new file mode 100644
index 00000000..709c8872
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/scope_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime scope missing or invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime scope missing or invalid
+
A runtime scope is missing or uses an unsupported shape.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.scope_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/scope_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.scope_missing",
+ "title": "runtime scope missing or invalid",
+ "summary": "A runtime scope is missing or uses an unsupported shape.",
+ "description": "A runtime scope is missing or uses an unsupported shape.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/table_missing.json b/public/problems/registry-relay/runtime/binding/table_missing.json
new file mode 100644
index 00000000..430ee4ae
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/table_missing.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.table_missing",
+ "title": "runtime table missing",
+ "summary": "A runtime entity references a table that is not configured.",
+ "description": "A runtime entity references a table that is not configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/table_missing/index.html b/public/problems/registry-relay/runtime/binding/table_missing/index.html
new file mode 100644
index 00000000..3d8abb93
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/table_missing/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime table missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime table missing
+
A runtime entity references a table that is not configured.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.table_missing
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/table_missing",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.table_missing",
+ "title": "runtime table missing",
+ "summary": "A runtime entity references a table that is not configured.",
+ "description": "A runtime entity references a table that is not configured.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/runtime/binding/unsupported_evidence_offering.json b/public/problems/registry-relay/runtime/binding/unsupported_evidence_offering.json
new file mode 100644
index 00000000..f8d80d92
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/unsupported_evidence_offering.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.unsupported_evidence_offering",
+ "title": "runtime evidence offering kind is unsupported",
+ "summary": "An evidence offering is not an external Registry Notary offering.",
+ "description": "An evidence offering is not an external Registry Notary offering.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/runtime/binding/unsupported_evidence_offering/index.html b/public/problems/registry-relay/runtime/binding/unsupported_evidence_offering/index.html
new file mode 100644
index 00000000..1ff32287
--- /dev/null
+++ b/public/problems/registry-relay/runtime/binding/unsupported_evidence_offering/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ runtime evidence offering kind is unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
runtime evidence offering kind is unsupported
+
An evidence offering is not an external Registry Notary offering.
+
https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code runtime.binding.unsupported_evidence_offering
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering",
+ "type": "https://id.registrystack.org/problems/registry-relay/runtime/binding/unsupported_evidence_offering",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "runtime.binding.unsupported_evidence_offering",
+ "title": "runtime evidence offering kind is unsupported",
+ "summary": "An evidence offering is not an external Registry Notary offering.",
+ "description": "An evidence offering is not an external Registry Notary offering.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/schema/resource_unavailable.json b/public/problems/registry-relay/schema/resource_unavailable.json
new file mode 100644
index 00000000..d2142d7f
--- /dev/null
+++ b/public/problems/registry-relay/schema/resource_unavailable.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.resource_unavailable",
+ "title": "resource unavailable",
+ "summary": "The resource is configured but failed ingest or is mid-reload.",
+ "description": "The resource is configured but failed ingest or is mid-reload.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/schema/resource_unavailable/index.html b/public/problems/registry-relay/schema/resource_unavailable/index.html
new file mode 100644
index 00000000..83f7e8b6
--- /dev/null
+++ b/public/problems/registry-relay/schema/resource_unavailable/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ resource unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
resource unavailable
+
The resource is configured but failed ingest or is mid-reload.
+
https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code schema.resource_unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/resource_unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.resource_unavailable",
+ "title": "resource unavailable",
+ "summary": "The resource is configured but failed ingest or is mid-reload.",
+ "description": "The resource is configured but failed ingest or is mid-reload.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/schema/unknown_aggregate.json b/public/problems/registry-relay/schema/unknown_aggregate.json
new file mode 100644
index 00000000..993c1da5
--- /dev/null
+++ b/public/problems/registry-relay/schema/unknown_aggregate.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.unknown_aggregate",
+ "title": "unknown aggregate",
+ "summary": "The aggregate id is not declared for the resource.",
+ "description": "The aggregate id is not declared for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/schema/unknown_aggregate/index.html b/public/problems/registry-relay/schema/unknown_aggregate/index.html
new file mode 100644
index 00000000..f2a2f61d
--- /dev/null
+++ b/public/problems/registry-relay/schema/unknown_aggregate/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ unknown aggregate | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
unknown aggregate
+
The aggregate id is not declared for the resource.
+
https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code schema.unknown_aggregate
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_aggregate",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.unknown_aggregate",
+ "title": "unknown aggregate",
+ "summary": "The aggregate id is not declared for the resource.",
+ "description": "The aggregate id is not declared for the resource.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/schema/unknown_dataset.json b/public/problems/registry-relay/schema/unknown_dataset.json
new file mode 100644
index 00000000..a9e73001
--- /dev/null
+++ b/public/problems/registry-relay/schema/unknown_dataset.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.unknown_dataset",
+ "title": "unknown dataset",
+ "summary": "The dataset id is not registered.",
+ "description": "The dataset id is not registered.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/schema/unknown_dataset/index.html b/public/problems/registry-relay/schema/unknown_dataset/index.html
new file mode 100644
index 00000000..e44e65ee
--- /dev/null
+++ b/public/problems/registry-relay/schema/unknown_dataset/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ unknown dataset | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
unknown dataset
+
The dataset id is not registered.
+
https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code schema.unknown_dataset
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_dataset",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.unknown_dataset",
+ "title": "unknown dataset",
+ "summary": "The dataset id is not registered.",
+ "description": "The dataset id is not registered.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/schema/unknown_resource.json b/public/problems/registry-relay/schema/unknown_resource.json
new file mode 100644
index 00000000..a50cd489
--- /dev/null
+++ b/public/problems/registry-relay/schema/unknown_resource.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.unknown_resource",
+ "title": "unknown resource",
+ "summary": "The resource id is not registered under the dataset.",
+ "description": "The resource id is not registered under the dataset.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/schema/unknown_resource/index.html b/public/problems/registry-relay/schema/unknown_resource/index.html
new file mode 100644
index 00000000..2fd026f2
--- /dev/null
+++ b/public/problems/registry-relay/schema/unknown_resource/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ unknown resource | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
unknown resource
+
The resource id is not registered under the dataset.
+
https://id.registrystack.org/problems/registry-relay/schema/unknown_resource
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/schema/unknown_resource
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code schema.unknown_resource
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/schema/unknown_resource",
+ "type": "https://id.registrystack.org/problems/registry-relay/schema/unknown_resource",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "schema.unknown_resource",
+ "title": "unknown resource",
+ "summary": "The resource id is not registered under the dataset.",
+ "description": "The resource id is not registered under the dataset.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/service/not_ready.json b/public/problems/registry-relay/service/not_ready.json
index a0c5ff72..3b88852d 100644
--- a/public/problems/registry-relay/service/not_ready.json
+++ b/public/problems/registry-relay/service/not_ready.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/service/not_ready/index.html b/public/problems/registry-relay/service/not_ready/index.html
index e57ad583..9eff967a 100644
--- a/public/problems/registry-relay/service/not_ready/index.html
+++ b/public/problems/registry-relay/service/not_ready/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/source/unavailable.json b/public/problems/registry-relay/source/unavailable.json
index c8c8e8c0..b9bc410a 100644
--- a/public/problems/registry-relay/source/unavailable.json
+++ b/public/problems/registry-relay/source/unavailable.json
@@ -45,7 +45,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/source/unavailable/index.html b/public/problems/registry-relay/source/unavailable/index.html
index 8655ad9f..4122e335 100644
--- a/public/problems/registry-relay/source/unavailable/index.html
+++ b/public/problems/registry-relay/source/unavailable/index.html
@@ -124,7 +124,7 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/spatial/bbox_invalid.json b/public/problems/registry-relay/spatial/bbox_invalid.json
new file mode 100644
index 00000000..19d9ae26
--- /dev/null
+++ b/public/problems/registry-relay/spatial/bbox_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.bbox_invalid",
+ "title": "spatial bbox invalid",
+ "summary": "The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.",
+ "description": "The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spatial/bbox_invalid/index.html b/public/problems/registry-relay/spatial/bbox_invalid/index.html
new file mode 100644
index 00000000..49207acb
--- /dev/null
+++ b/public/problems/registry-relay/spatial/bbox_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spatial bbox invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spatial bbox invalid
+
The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.
+
https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spatial.bbox_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/bbox_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.bbox_invalid",
+ "title": "spatial bbox invalid",
+ "summary": "The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.",
+ "description": "The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spatial/crs_unsupported.json b/public/problems/registry-relay/spatial/crs_unsupported.json
new file mode 100644
index 00000000..ab956fb6
--- /dev/null
+++ b/public/problems/registry-relay/spatial/crs_unsupported.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.crs_unsupported",
+ "title": "spatial crs unsupported",
+ "summary": "The requested coordinate reference system is not supported.",
+ "description": "The requested coordinate reference system is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spatial/crs_unsupported/index.html b/public/problems/registry-relay/spatial/crs_unsupported/index.html
new file mode 100644
index 00000000..d5f7b596
--- /dev/null
+++ b/public/problems/registry-relay/spatial/crs_unsupported/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spatial crs unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spatial crs unsupported
+
The requested coordinate reference system is not supported.
+
https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spatial.crs_unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/crs_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.crs_unsupported",
+ "title": "spatial crs unsupported",
+ "summary": "The requested coordinate reference system is not supported.",
+ "description": "The requested coordinate reference system is not supported.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spatial/filter_unsupported.json b/public/problems/registry-relay/spatial/filter_unsupported.json
new file mode 100644
index 00000000..ae5c71f4
--- /dev/null
+++ b/public/problems/registry-relay/spatial/filter_unsupported.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.filter_unsupported",
+ "title": "spatial filter unsupported",
+ "summary": "A supported parameter cannot be evaluated for the collection.",
+ "description": "A supported parameter cannot be evaluated for the collection.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spatial/filter_unsupported/index.html b/public/problems/registry-relay/spatial/filter_unsupported/index.html
new file mode 100644
index 00000000..8fa1840c
--- /dev/null
+++ b/public/problems/registry-relay/spatial/filter_unsupported/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spatial filter unsupported | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spatial filter unsupported
+
A supported parameter cannot be evaluated for the collection.
+
https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spatial.filter_unsupported
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/filter_unsupported",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.filter_unsupported",
+ "title": "spatial filter unsupported",
+ "summary": "A supported parameter cannot be evaluated for the collection.",
+ "description": "A supported parameter cannot be evaluated for the collection.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spatial/geometry_invalid.json b/public/problems/registry-relay/spatial/geometry_invalid.json
new file mode 100644
index 00000000..55f07802
--- /dev/null
+++ b/public/problems/registry-relay/spatial/geometry_invalid.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.geometry_invalid",
+ "title": "spatial geometry invalid",
+ "summary": "The geometry field is malformed.",
+ "description": "The geometry field is malformed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spatial/geometry_invalid/index.html b/public/problems/registry-relay/spatial/geometry_invalid/index.html
new file mode 100644
index 00000000..c6795d92
--- /dev/null
+++ b/public/problems/registry-relay/spatial/geometry_invalid/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spatial geometry invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spatial geometry invalid
+
The geometry field is malformed.
+
https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spatial.geometry_invalid
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_invalid",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.geometry_invalid",
+ "title": "spatial geometry invalid",
+ "summary": "The geometry field is malformed.",
+ "description": "The geometry field is malformed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spatial/geometry_too_large.json b/public/problems/registry-relay/spatial/geometry_too_large.json
new file mode 100644
index 00000000..9bf69474
--- /dev/null
+++ b/public/problems/registry-relay/spatial/geometry_too_large.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.geometry_too_large",
+ "title": "spatial geometry too large",
+ "summary": "The geometry exceeds the configured vertex limit.",
+ "description": "The geometry exceeds the configured vertex limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spatial/geometry_too_large/index.html b/public/problems/registry-relay/spatial/geometry_too_large/index.html
new file mode 100644
index 00000000..e1a6212d
--- /dev/null
+++ b/public/problems/registry-relay/spatial/geometry_too_large/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spatial geometry too large | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spatial geometry too large
+
The geometry exceeds the configured vertex limit.
+
https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spatial.geometry_too_large
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large",
+ "type": "https://id.registrystack.org/problems/registry-relay/spatial/geometry_too_large",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spatial.geometry_too_large",
+ "title": "spatial geometry too large",
+ "summary": "The geometry exceeds the configured vertex limit.",
+ "description": "The geometry exceeds the configured vertex limit.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spdci/config/feature_disabled.json b/public/problems/registry-relay/spdci/config/feature_disabled.json
new file mode 100644
index 00000000..975e2fc9
--- /dev/null
+++ b/public/problems/registry-relay/spdci/config/feature_disabled.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.config.feature_disabled",
+ "title": "spdci api standards feature disabled",
+ "summary": "SP DCI standards adapters were configured but the binary lacks the feature.",
+ "description": "SP DCI standards adapters were configured but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spdci/config/feature_disabled/index.html b/public/problems/registry-relay/spdci/config/feature_disabled/index.html
new file mode 100644
index 00000000..2c9a25ef
--- /dev/null
+++ b/public/problems/registry-relay/spdci/config/feature_disabled/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spdci api standards feature disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spdci api standards feature disabled
+
SP DCI standards adapters were configured but the binary lacks the feature.
+
https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spdci.config.feature_disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/config/feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.config.feature_disabled",
+ "title": "spdci api standards feature disabled",
+ "summary": "SP DCI standards adapters were configured but the binary lacks the feature.",
+ "description": "SP DCI standards adapters were configured but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spdci/config/mapping_feature_disabled.json b/public/problems/registry-relay/spdci/config/mapping_feature_disabled.json
new file mode 100644
index 00000000..e275dd38
--- /dev/null
+++ b/public/problems/registry-relay/spdci/config/mapping_feature_disabled.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.config.mapping_feature_disabled",
+ "title": "spdci cel mapping feature disabled",
+ "summary": "SP DCI response mapping was configured but the binary lacks the feature.",
+ "description": "SP DCI response mapping was configured but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spdci/config/mapping_feature_disabled/index.html b/public/problems/registry-relay/spdci/config/mapping_feature_disabled/index.html
new file mode 100644
index 00000000..e9b6c034
--- /dev/null
+++ b/public/problems/registry-relay/spdci/config/mapping_feature_disabled/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spdci cel mapping feature disabled | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spdci cel mapping feature disabled
+
SP DCI response mapping was configured but the binary lacks the feature.
+
https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spdci.config.mapping_feature_disabled
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/config/mapping_feature_disabled",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.config.mapping_feature_disabled",
+ "title": "spdci cel mapping feature disabled",
+ "summary": "SP DCI response mapping was configured but the binary lacks the feature.",
+ "description": "SP DCI response mapping was configured but the binary lacks the feature.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spdci/mapper/unavailable.json b/public/problems/registry-relay/spdci/mapper/unavailable.json
new file mode 100644
index 00000000..04781ef2
--- /dev/null
+++ b/public/problems/registry-relay/spdci/mapper/unavailable.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.mapper.unavailable",
+ "title": "spdci response mapper unavailable",
+ "summary": "Response mapping is configured but the mapper extension is not installed.",
+ "description": "Response mapping is configured but the mapper extension is not installed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spdci/mapper/unavailable/index.html b/public/problems/registry-relay/spdci/mapper/unavailable/index.html
new file mode 100644
index 00000000..cfa1afdb
--- /dev/null
+++ b/public/problems/registry-relay/spdci/mapper/unavailable/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ spdci response mapper unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
spdci response mapper unavailable
+
Response mapping is configured but the mapper extension is not installed.
+
https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spdci.mapper.unavailable
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/mapper/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.mapper.unavailable",
+ "title": "spdci response mapper unavailable",
+ "summary": "Response mapping is configured but the mapper extension is not installed.",
+ "description": "Response mapping is configured but the mapper extension is not installed.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spdci/request/invalid_header.json b/public/problems/registry-relay/spdci/request/invalid_header.json
new file mode 100644
index 00000000..82d68dd2
--- /dev/null
+++ b/public/problems/registry-relay/spdci/request/invalid_header.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.request.invalid_header",
+ "title": "invalid spdci header",
+ "summary": "The request header is missing or omits a required SP DCI field.",
+ "description": "The request header is missing or omits a required SP DCI field.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spdci/request/invalid_header/index.html b/public/problems/registry-relay/spdci/request/invalid_header/index.html
new file mode 100644
index 00000000..b494ca93
--- /dev/null
+++ b/public/problems/registry-relay/spdci/request/invalid_header/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ invalid spdci header | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
invalid spdci header
+
The request header is missing or omits a required SP DCI field.
+
https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spdci.request.invalid_header
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_header",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.request.invalid_header",
+ "title": "invalid spdci header",
+ "summary": "The request header is missing or omits a required SP DCI field.",
+ "description": "The request header is missing or omits a required SP DCI field.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spdci/request/invalid_message.json b/public/problems/registry-relay/spdci/request/invalid_message.json
new file mode 100644
index 00000000..3a8a9ef5
--- /dev/null
+++ b/public/problems/registry-relay/spdci/request/invalid_message.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.request.invalid_message",
+ "title": "invalid spdci message",
+ "summary": "The request message is missing or not an object.",
+ "description": "The request message is missing or not an object.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spdci/request/invalid_message/index.html b/public/problems/registry-relay/spdci/request/invalid_message/index.html
new file mode 100644
index 00000000..68d2b516
--- /dev/null
+++ b/public/problems/registry-relay/spdci/request/invalid_message/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ invalid spdci message | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
invalid spdci message
+
The request message is missing or not an object.
+
https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spdci.request.invalid_message
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/invalid_message",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.request.invalid_message",
+ "title": "invalid spdci message",
+ "summary": "The request message is missing or not an object.",
+ "description": "The request message is missing or not an object.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-relay/spdci/request/missing_transaction_id.json b/public/problems/registry-relay/spdci/request/missing_transaction_id.json
new file mode 100644
index 00000000..2797896f
--- /dev/null
+++ b/public/problems/registry-relay/spdci/request/missing_transaction_id.json
@@ -0,0 +1,51 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.request.missing_transaction_id",
+ "title": "missing transaction_id",
+ "summary": "`message.transaction_id` is absent or empty.",
+ "description": "`message.transaction_id` is absent or empty.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
diff --git a/public/problems/registry-relay/spdci/request/missing_transaction_id/index.html b/public/problems/registry-relay/spdci/request/missing_transaction_id/index.html
new file mode 100644
index 00000000..47d61419
--- /dev/null
+++ b/public/problems/registry-relay/spdci/request/missing_transaction_id/index.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ missing transaction_id | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-relay
+
missing transaction_id
+
`message.transaction_id` is absent or empty.
+
https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic.
+
+
+ Defined facts
+
+
+ Canonical URI https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id
+ Kind problem
+ Lifecycle status deprecated
+ Compatibility line legacy
+ Product registry-relay
+ Code spdci.request.missing_transaction_id
+ Category not published
+ HTTP statuses not published in this resolver record
+ Source registry-stack/docs/site/src/content/docs/reference/errors.mdx
+
+
+
+
+
+ Guidance
+
+
+ Guidance status not_published
+ Retryable not published
+ Caller action not published
+ Operator action not published
+ Note No per-identifier remediation guidance is published in this resolver record.
+
+
+
+
+ Problem record
+ {
+ "id": "https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id",
+ "type": "https://id.registrystack.org/problems/registry-relay/spdci/request/missing_transaction_id",
+ "kind": "problem",
+ "lifecycle_status": "deprecated",
+ "compatibility_line": "legacy",
+ "product": "registry-relay",
+ "code": "spdci.request.missing_transaction_id",
+ "title": "missing transaction_id",
+ "summary": "`message.transaction_id` is absent or empty.",
+ "description": "`message.transaction_id` is absent or empty.",
+ "category": null,
+ "http_statuses": null,
+ "guidance": {
+ "status": "not_published",
+ "retryable": null,
+ "caller_action": null,
+ "operator_action": null,
+ "note": "No per-identifier remediation guidance is published in this resolver record."
+ },
+ "documented_by": [
+ {
+ "title": "Error and status code reference",
+ "href": "https://docs.registrystack.org/reference/errors/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior. For problem responses, use the stable code extension and the response status/detail fields. Do not parse URL paths for program logic."
+ },
+ "identifier_policy": {
+ "stability": "stable",
+ "programmatic_key": "code",
+ "parsing": "Do not parse semantics from the URL path."
+ },
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/profiles/index.json b/public/profiles/index.json
index f9ac1541..d3ddffe4 100644
--- a/public/profiles/index.json
+++ b/public/profiles/index.json
@@ -11,7 +11,7 @@
"source": "src/artifacts/sha256/f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe.md",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/profile/registry-record-v1.md",
"sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
},
diff --git a/public/schemas/breg/authoring/registry-module.v1alpha1.schema.json b/public/schemas/breg/authoring/registry-module.v1alpha1.schema.json
index 3760ba99..71ff675d 100644
--- a/public/schemas/breg/authoring/registry-module.v1alpha1.schema.json
+++ b/public/schemas/breg/authoring/registry-module.v1alpha1.schema.json
@@ -455,6 +455,12 @@
"additionalProperties": false,
"properties": {
"equals": true,
+ "equalsInput": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"field": {
"type": "string"
},
@@ -464,8 +470,7 @@
},
"required": [
"input",
- "field",
- "equals"
+ "field"
],
"type": "object"
},
@@ -699,6 +704,9 @@
"$ref": "#/$defs/ChangeRequestApplicationModeSource",
"default": "manual"
},
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ },
"queueReasons": {
"additionalProperties": {
"type": "string"
@@ -708,6 +716,13 @@
},
"type": "object"
},
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "type": "string"
+ },
"ChangeRequestDispositionSource": {
"enum": [
"apply",
@@ -752,6 +767,126 @@
],
"type": "object"
},
+ "ChangeRequestEvidenceRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "output": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "output"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceRequirementSource"
+ },
+ "type": "array"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestSelectorSource"
+ },
+ "description": "Exact governed selector-profile field map. Every profile field must be\npresent exactly once and no undeclared field is admitted.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "profile",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestGuardTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "fromField": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "entity",
+ "fromField"
+ ],
+ "type": "object"
+ },
"ChangeRequestPlannerSource": {
"additionalProperties": false,
"properties": {
@@ -827,6 +962,76 @@
],
"type": "object"
},
+ "ChangeRequestPreconditionsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Governed Evidence acquisitions required immediately before application.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSource"
+ },
+ "type": "array"
+ },
+ "request": {
+ "description": "Predicates over the frozen request intake itself.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ },
+ "targets": {
+ "description": "Existing records read and revision-bound at proposal preparation.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestGuardTargetSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPredicateSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "currentDate": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestCurrentDatePredicateSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field"
+ ],
+ "type": "object"
+ },
"ChangeRequestRetentionModeSource": {
"enum": [
"retain",
@@ -901,6 +1106,48 @@
],
"type": "object"
},
+ "ChangeRequestSelectorSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "request_field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "target_field",
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "target",
+ "field"
+ ],
+ "type": "object"
+ }
+ ]
+ },
"ChangeRequestSource": {
"additionalProperties": false,
"properties": {
diff --git a/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html b/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html
index 13dce69b..cede8e75 100644
--- a/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html
+++ b/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html
@@ -47,8 +47,8 @@ Lifecycle
Status active
Compatibility line v1alpha1
Owner breg
- Artifact SHA-256 6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f
- Immutable artifact https://id.registrystack.org/artifacts/sha256/6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f.json
+ Artifact SHA-256 42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf
+ Immutable artifact https://id.registrystack.org/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json
diff --git a/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json b/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json
index 59d4e18b..341c931e 100644
--- a/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json
+++ b/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json
@@ -1,12 +1,12 @@
{
"$defs": {
- "AccessGrantSource": {
+ "AccessPermissionSource": {
"anyOf": [
{
- "$ref": "#/$defs/EntityAccessGrantSourceSchema"
+ "$ref": "#/$defs/EntityAccessPermissionSourceSchema"
},
{
- "$ref": "#/$defs/ActionAccessGrantSourceSchema"
+ "$ref": "#/$defs/ActionAccessPermissionSourceSchema"
}
]
},
@@ -43,7 +43,7 @@
},
"type": "object"
},
- "ActionAccessGrantSourceSchema": {
+ "ActionAccessPermissionSourceSchema": {
"additionalProperties": false,
"properties": {
"action": {
@@ -67,7 +67,7 @@
"targets": {
"default": [],
"items": {
- "$ref": "#/$defs/ActionTargetGrantSource"
+ "$ref": "#/$defs/ActionTargetPermissionSource"
},
"type": "array"
}
@@ -500,6 +500,12 @@
"additionalProperties": false,
"properties": {
"equals": true,
+ "equalsInput": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"field": {
"type": "string"
},
@@ -509,8 +515,7 @@
},
"required": [
"input",
- "field",
- "equals"
+ "field"
],
"type": "object"
},
@@ -563,7 +568,7 @@
],
"type": "object"
},
- "ActionTargetGrantSource": {
+ "ActionTargetPermissionSource": {
"additionalProperties": false,
"properties": {
"entity": {
@@ -619,7 +624,15 @@
},
"type": "object"
},
- "ApplyTargetGrantSource": {
+ "ActorKindSource": {
+ "enum": [
+ "human",
+ "agent",
+ "service"
+ ],
+ "type": "string"
+ },
+ "ApplyTargetPermissionSource": {
"additionalProperties": false,
"properties": {
"entity": {
@@ -784,6 +797,9 @@
"$ref": "#/$defs/ChangeRequestApplicationModeSource",
"default": "manual"
},
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ },
"queueReasons": {
"additionalProperties": {
"type": "string"
@@ -793,6 +809,13 @@
},
"type": "object"
},
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "type": "string"
+ },
"ChangeRequestDispositionSource": {
"enum": [
"apply",
@@ -837,6 +860,126 @@
],
"type": "object"
},
+ "ChangeRequestEvidenceRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "output": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "output"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceRequirementSource"
+ },
+ "type": "array"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestSelectorSource"
+ },
+ "description": "Exact governed selector-profile field map. Every profile field must be\npresent exactly once and no undeclared field is admitted.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "profile",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestGuardTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "fromField": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "entity",
+ "fromField"
+ ],
+ "type": "object"
+ },
"ChangeRequestPlannerSource": {
"additionalProperties": false,
"properties": {
@@ -912,6 +1055,76 @@
],
"type": "object"
},
+ "ChangeRequestPreconditionsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Governed Evidence acquisitions required immediately before application.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSource"
+ },
+ "type": "array"
+ },
+ "request": {
+ "description": "Predicates over the frozen request intake itself.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ },
+ "targets": {
+ "description": "Existing records read and revision-bound at proposal preparation.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestGuardTargetSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPredicateSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "currentDate": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestCurrentDatePredicateSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field"
+ ],
+ "type": "object"
+ },
"ChangeRequestRetentionModeSource": {
"enum": [
"retain",
@@ -986,6 +1199,48 @@
],
"type": "object"
},
+ "ChangeRequestSelectorSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "request_field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "target_field",
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "target",
+ "field"
+ ],
+ "type": "object"
+ }
+ ]
+ },
"ChangeRequestSource": {
"additionalProperties": false,
"properties": {
@@ -1771,7 +2026,7 @@
],
"type": "object"
},
- "EntityAccessGrantSourceSchema": {
+ "EntityAccessPermissionSourceSchema": {
"additionalProperties": false,
"properties": {
"allowCount": {
@@ -1785,7 +2040,7 @@
"applyTargets": {
"default": [],
"items": {
- "$ref": "#/$defs/ApplyTargetGrantSource"
+ "$ref": "#/$defs/ApplyTargetPermissionSource"
},
"type": "array"
},
@@ -1803,7 +2058,7 @@
"lookups": {
"default": [],
"items": {
- "$ref": "#/$defs/LookupGrantSource"
+ "$ref": "#/$defs/LookupPermissionSource"
},
"type": "array"
},
@@ -1824,7 +2079,7 @@
"readPaths": {
"default": [],
"items": {
- "$ref": "#/$defs/ReadPathGrantSource"
+ "$ref": "#/$defs/ReadPathPermissionSource"
},
"type": "array"
},
@@ -1847,7 +2102,7 @@
"requestPresence": {
"default": [],
"items": {
- "$ref": "#/$defs/RequestPresenceGrantSource"
+ "$ref": "#/$defs/RequestPresencePermissionSource"
},
"type": "array"
},
@@ -1865,7 +2120,7 @@
"reviewStages": {
"default": [],
"items": {
- "$ref": "#/$defs/ReviewStageGrantSource"
+ "$ref": "#/$defs/ReviewStagePermissionSource"
},
"type": "array"
},
@@ -1890,7 +2145,7 @@
"spatialQueries": {
"anyOf": [
{
- "$ref": "#/$defs/SpatialQueryGrantSource"
+ "$ref": "#/$defs/SpatialQueryPermissionSource"
},
{
"type": "null"
@@ -2381,7 +2636,7 @@
],
"type": "object"
},
- "LookupGrantSource": {
+ "LookupPermissionSource": {
"additionalProperties": false,
"properties": {
"claimMapping": {
@@ -3131,6 +3386,16 @@
"ProjectAccessProfileSource": {
"additionalProperties": false,
"properties": {
+ "actorKind": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActorKindSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
"anonymous": {
"default": false,
"type": "boolean"
@@ -3139,16 +3404,16 @@
"default": false,
"type": "boolean"
},
- "grants": {
+ "id": {
+ "type": "string"
+ },
+ "permissions": {
"default": [],
"items": {
- "$ref": "#/$defs/AccessGrantSource"
+ "$ref": "#/$defs/AccessPermissionSource"
},
"type": "array"
},
- "id": {
- "type": "string"
- },
"principalClaim": {
"default": null,
"type": [
@@ -3156,6 +3421,13 @@
"null"
]
},
+ "requesterClients": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
"requiredPurposes": {
"default": [],
"description": "The verified token's purpose must match one listed value. Empty means no purpose restriction.",
@@ -3173,6 +3445,16 @@
},
"type": "array",
"uniqueItems": true
+ },
+ "taskGrant": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TaskGrantSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"required": [
@@ -3180,7 +3462,7 @@
],
"type": "object"
},
- "ReadPathGrantSource": {
+ "ReadPathPermissionSource": {
"additionalProperties": false,
"properties": {
"allowCount": {
@@ -3333,11 +3615,13 @@
"RequestMetadataFieldSource": {
"description": "Fields of request decision metadata governed separately from stored record fields.",
"enum": [
- "reason"
+ "actor_reference",
+ "reason",
+ "review_state"
],
"type": "string"
},
- "RequestPresenceGrantSource": {
+ "RequestPresencePermissionSource": {
"additionalProperties": false,
"properties": {
"requestType": {
@@ -3366,7 +3650,7 @@
}
]
},
- "ReviewStageGrantSource": {
+ "ReviewStagePermissionSource": {
"additionalProperties": false,
"properties": {
"stage": {
@@ -3375,7 +3659,7 @@
"targets": {
"default": [],
"items": {
- "$ref": "#/$defs/ReviewStageTargetGrantSource"
+ "$ref": "#/$defs/ReviewStageTargetPermissionSource"
},
"type": "array"
}
@@ -3385,7 +3669,7 @@
],
"type": "object"
},
- "ReviewStageTargetGrantSource": {
+ "ReviewStageTargetPermissionSource": {
"additionalProperties": false,
"properties": {
"entity": {
@@ -3458,7 +3742,7 @@
],
"type": "object"
},
- "SpatialBboxGrantSource": {
+ "SpatialBboxPermissionSource": {
"additionalProperties": false,
"properties": {
"maximumLatitudeSpanDegrees": {
@@ -3474,13 +3758,13 @@
],
"type": "object"
},
- "SpatialQueryGrantSource": {
+ "SpatialQueryPermissionSource": {
"additionalProperties": false,
"properties": {
"bbox": {
"anyOf": [
{
- "$ref": "#/$defs/SpatialBboxGrantSource"
+ "$ref": "#/$defs/SpatialBboxPermissionSource"
},
{
"type": "null"
@@ -3613,6 +3897,18 @@
],
"type": "object"
},
+ "TaskGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "sourceIssuer": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceIssuer"
+ ],
+ "type": "object"
+ },
"TemporalSource": {
"additionalProperties": false,
"properties": {
diff --git a/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html b/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html
index afdb3a56..ddcd3c2b 100644
--- a/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html
+++ b/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html
@@ -47,8 +47,8 @@ Lifecycle
Status active
Compatibility line v1alpha1
Owner breg
- Artifact SHA-256 f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e
- Immutable artifact https://id.registrystack.org/artifacts/sha256/f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e.json
+ Artifact SHA-256 2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa
+ Immutable artifact https://id.registrystack.org/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json
diff --git a/public/schemas/breg/runtime/runtime.v1alpha1.schema.json b/public/schemas/breg/runtime/runtime.v1alpha1.schema.json
index 931015b2..609772ea 100644
--- a/public/schemas/breg/runtime/runtime.v1alpha1.schema.json
+++ b/public/schemas/breg/runtime/runtime.v1alpha1.schema.json
@@ -22,8 +22,69 @@
],
"type": "string"
},
+ "EvidencePrivateKeyJwtConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "assertionAudience": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientId": {
+ "type": "string"
+ },
+ "privateKeyRef": {
+ "type": "string"
+ },
+ "resource": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopes": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenEndpoint",
+ "clientId",
+ "privateKeyRef"
+ ],
+ "type": "object"
+ },
"EvidenceProviderConfig": {
"additionalProperties": false,
+ "oneOf": [
+ {
+ "properties": {
+ "tokenRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenRef"
+ ]
+ },
+ {
+ "properties": {
+ "privateKeyJwt": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "privateKeyJwt"
+ ]
+ }
+ ],
"properties": {
"baseUrl": {
"type": "string"
@@ -34,6 +95,16 @@
"null"
]
},
+ "privateKeyJwt": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EvidencePrivateKeyJwtConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
"revokedKeyIds": {
"default": [],
"items": {
@@ -42,7 +113,11 @@
"type": "array"
},
"tokenRef": {
- "type": "string"
+ "description": "Compatibility path for a pre-issued token. Long-running providers\nshould configure `privateKeyJwt` so expiry triggers a fresh exchange.",
+ "type": [
+ "string",
+ "null"
+ ]
},
"trustBindingId": {
"type": "string"
@@ -54,7 +129,6 @@
"required": [
"baseUrl",
"trustBindingId",
- "tokenRef",
"trustedJwksRef"
],
"type": "object"
@@ -252,6 +326,17 @@
"RawAuthorityClaimsConfig": {
"additionalProperties": false,
"properties": {
+ "contextual": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawContextualClaimNames"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"principal": {
"maxLength": 128,
"minLength": 1,
@@ -293,6 +378,13 @@
"string",
"null"
]
+ },
+ "trustedActors": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {},
+ "type": "object"
}
},
"required": [
@@ -300,6 +392,50 @@
],
"type": "object"
},
+ "RawContextualClaimNames": {
+ "additionalProperties": false,
+ "properties": {
+ "actorKind": {
+ "type": "string"
+ },
+ "approver": {
+ "type": "string"
+ },
+ "grantBounds": {
+ "type": "string"
+ },
+ "grantClient": {
+ "type": "string"
+ },
+ "grantExp": {
+ "type": "string"
+ },
+ "grantId": {
+ "type": "string"
+ },
+ "grantResource": {
+ "type": "string"
+ },
+ "grantSourceIssuer": {
+ "type": "string"
+ },
+ "purpose": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "actorKind",
+ "purpose",
+ "grantId",
+ "grantSourceIssuer",
+ "grantClient",
+ "grantResource",
+ "grantExp",
+ "grantBounds",
+ "approver"
+ ],
+ "type": "object"
+ },
"RawCursorConfig": {
"additionalProperties": false,
"properties": {
@@ -701,6 +837,7 @@
"additionalProperties": false,
"properties": {
"accessTokenType": {
+ "description": "The one admitted access-token `typ` semantics. Configuring the\nRFC 9068 access-token media type as `at+jwt` or\n`application/at+jwt` admits both spellings of that one type; any\nother value (for example `JWT`) admits only that token type, matched\ncase-insensitively.",
"maxLength": 2048,
"minLength": 1,
"pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
@@ -720,6 +857,27 @@
"type": "array",
"uniqueItems": true
},
+ "assertionIssuers": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "maxProperties": 128,
+ "propertyNames": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "type": "object"
+ },
"audience": {
"maxLength": 2048,
"minLength": 1,
@@ -974,6 +1132,48 @@
"runtime"
],
"type": "object"
+ },
+ "TaskGrantStatusConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "caseworkResource": {
+ "type": "string"
+ },
+ "clientAssertionAudience": {
+ "type": "string"
+ },
+ "clientId": {
+ "type": "string"
+ },
+ "privateKeyRef": {
+ "type": "string"
+ },
+ "sourceIssuer": {
+ "type": "string"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceIssuer",
+ "baseUrl",
+ "tokenEndpoint",
+ "clientAssertionAudience",
+ "clientId",
+ "privateKeyRef",
+ "caseworkResource"
+ ],
+ "type": "object"
}
},
"$id": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
@@ -1073,6 +1273,13 @@
},
"secretProviders": {
"$ref": "#/$defs/RawSecretProvidersConfig"
+ },
+ "taskGrantStatus": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/TaskGrantStatusConfig"
+ },
+ "type": "array"
}
},
"required": [
diff --git a/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html b/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html
index 164be413..5290824e 100644
--- a/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html
+++ b/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html
@@ -47,8 +47,8 @@ Lifecycle
Status active
Compatibility line v1alpha1
Owner breg
- Artifact SHA-256 76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d
- Immutable artifact https://id.registrystack.org/artifacts/sha256/76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d.json
+ Artifact SHA-256 c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c
+ Immutable artifact https://id.registrystack.org/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json
diff --git a/public/schemas/casework/runtime/runtime.v1alpha1.schema.json b/public/schemas/casework/runtime/runtime.v1alpha1.schema.json
new file mode 100644
index 00000000..05a02a0e
--- /dev/null
+++ b/public/schemas/casework/runtime/runtime.v1alpha1.schema.json
@@ -0,0 +1,569 @@
+{
+ "$defs": {
+ "AuditConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "hashKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "path": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path",
+ "hashKeyRef"
+ ],
+ "type": "object"
+ },
+ "AuthenticationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "oidc": {
+ "$ref": "#/$defs/OidcConfig"
+ }
+ },
+ "required": [
+ "oidc"
+ ],
+ "type": "object"
+ },
+ "BregBinding": {
+ "additionalProperties": false,
+ "description": "Launcher-owned BReg connection material for one authored Casework source.",
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "clientAssertionAudience": {
+ "description": "Explicit OAuth client assertion audience; omission preserves endpoint audience.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientAssertionKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "clientIdRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "connectTimeoutMilliseconds": {
+ "default": 10000,
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "eventSource": {
+ "type": "string"
+ },
+ "eventType": {
+ "default": "casework-lifecycle-v1",
+ "type": "string"
+ },
+ "readerProfile": {
+ "type": "string"
+ },
+ "reconciliationIntervalMilliseconds": {
+ "default": 60000,
+ "format": "uint64",
+ "maximum": 3600000,
+ "minimum": 1000,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "default": 30000,
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "resource": {
+ "description": "Exact resource indicator required by the configured authorization server.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopes": {
+ "description": "Explicit scopes for this source reader's service credential.",
+ "items": {
+ "type": "string"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ },
+ "trustedRootCertificatesRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "webhookSecretRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "readerProfile",
+ "tokenEndpoint",
+ "clientIdRef",
+ "clientAssertionKeyRef",
+ "webhookSecretRef",
+ "eventSource"
+ ],
+ "type": "object"
+ },
+ "DatabaseConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "migrationUrlRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "runtimeUrlRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "testOnlyPlaintext": {
+ "default": false,
+ "type": "boolean"
+ },
+ "trustedRootCertificateRef": {
+ "default": null,
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "runtimeUrlRef",
+ "migrationUrlRef"
+ ],
+ "type": "object"
+ },
+ "EnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "FileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "HumanIdentityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "default": "registry_actor_kind",
+ "type": "string"
+ },
+ "value": {
+ "default": "human",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "default": "127.0.0.1:8100",
+ "type": "string"
+ },
+ "networkExposure": {
+ "$ref": "#/$defs/ListenerNetworkExposure"
+ },
+ "tlsTermination": {
+ "$ref": "#/$defs/TlsTermination"
+ }
+ },
+ "required": [
+ "tlsTermination"
+ ],
+ "type": "object"
+ },
+ "ListenerNetworkExposure": {
+ "description": "The operator-declared private network placement of the HTTP listener.",
+ "enum": [
+ "private-address",
+ "container-private"
+ ],
+ "type": "string"
+ },
+ "OidcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedClients": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "assertionIssuers": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "default": {},
+ "description": "Assertion authorities each client may exchange a subject token from,\nkeyed by client identifier. An empty map applies no rule; see\n[`registry_platform_oidc::TokenVerifierConfig::assertion_issuers`].",
+ "maxProperties": 64,
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "humanIdentity": {
+ "$ref": "#/$defs/HumanIdentityConfig"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "jwksSource": {
+ "$ref": "#/$defs/OidcJwksSource"
+ },
+ "jwksUri": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopeClaim": {
+ "default": "registry_scopes",
+ "type": "string"
+ }
+ },
+ "required": [
+ "issuer",
+ "audience"
+ ],
+ "type": "object"
+ },
+ "OidcJwksSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "discovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "documentRef": {
+ "pattern": "^(?:secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "documentRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RuntimePackageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "SecretProvidersConfig": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "properties": {
+ "file": {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ },
+ {
+ "properties": {
+ "environment": {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ }
+ },
+ "required": [
+ "environment"
+ ]
+ }
+ ],
+ "properties": {
+ "environment": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TaskAuthorityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "exchangeAudience": {
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "signingKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "statusClients": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Service client IDs mapped to their one protected resource audience.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "issuer",
+ "exchangeAudience",
+ "signingKeyRef",
+ "statusClients"
+ ],
+ "type": "object"
+ },
+ "TlsTermination": {
+ "description": "Declares the trusted transport boundary for the runtime's plaintext HTTP listener.\n\nProduction listeners require operator-controlled upstream TLS termination.\nDirect plaintext is limited to the explicit loopback-only development mode.",
+ "enum": [
+ "operator-controlled-upstream",
+ "development-loopback"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "authentication": {
+ "properties": {
+ "oidc": {
+ "properties": {
+ "jwksSource": {
+ "properties": {
+ "documentRef": {
+ "pattern": "^secret:env/"
+ }
+ },
+ "required": [
+ "documentRef"
+ ]
+ }
+ },
+ "required": [
+ "jwksSource"
+ ]
+ }
+ },
+ "required": [
+ "oidc"
+ ]
+ }
+ },
+ "required": [
+ "authentication"
+ ]
+ },
+ "then": {
+ "properties": {
+ "secretProviders": {
+ "properties": {
+ "environment": {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ }
+ },
+ "required": [
+ "environment"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "authentication": {
+ "properties": {
+ "oidc": {
+ "properties": {
+ "jwksSource": {
+ "properties": {
+ "documentRef": {
+ "pattern": "^secret:file/"
+ }
+ },
+ "required": [
+ "documentRef"
+ ]
+ }
+ },
+ "required": [
+ "jwksSource"
+ ]
+ }
+ },
+ "required": [
+ "oidc"
+ ]
+ }
+ },
+ "required": [
+ "authentication"
+ ]
+ },
+ "then": {
+ "properties": {
+ "secretProviders": {
+ "properties": {
+ "file": {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/casework-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/DatabaseConfig"
+ },
+ "kind": {
+ "const": "CaseworkRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/ListenerConfig"
+ },
+ "package": {
+ "$ref": "#/$defs/RuntimePackageConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/SecretProvidersConfig"
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/BregBinding"
+ },
+ "default": {},
+ "propertyNames": {
+ "minLength": 1
+ },
+ "type": "object"
+ },
+ "taskAuthority": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TaskAuthorityConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "package",
+ "listener",
+ "secretProviders",
+ "database",
+ "authentication",
+ "audit"
+ ],
+ "title": "Registry Casework runtime configuration",
+ "type": "object"
+}
diff --git a/public/schemas/casework/runtime/runtime.v1alpha1.schema/index.html b/public/schemas/casework/runtime/runtime.v1alpha1.schema/index.html
new file mode 100644
index 00000000..798629e7
--- /dev/null
+++ b/public/schemas/casework/runtime/runtime.v1alpha1.schema/index.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+ Registry Casework runtime configuration | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
JSON Schema
+
Registry Casework runtime configuration
+
Registry Casework runtime configuration JSON Schema.
+
https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ The canonical machine artifact at this URI is the JSON Schema itself.
+
+
+
+
+
+
+
+
diff --git a/public/schemas/index.html b/public/schemas/index.html
index 18e86b3a..3e5bdaf6 100644
--- a/public/schemas/index.html
+++ b/public/schemas/index.html
@@ -39,18 +39,21 @@ Schemas
This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
- 8 published identifiers
+ 11 published identifiers
diff --git a/public/schemas/index.json b/public/schemas/index.json
index 384de9ec..e1a540b0 100644
--- a/public/schemas/index.json
+++ b/public/schemas/index.json
@@ -8,15 +8,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "breg",
- "source": "src/artifacts/sha256/6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f.json",
+ "source": "src/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
- "artifact_sha256": "6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f.json",
+ "artifact_sha256": "42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json",
"id": "https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json",
"documented_by": [
{
@@ -41,15 +41,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "breg",
- "source": "src/artifacts/sha256/f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e.json",
+ "source": "src/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
- "artifact_sha256": "f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e.json",
+ "artifact_sha256": "2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json",
"id": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
"documented_by": [
{
@@ -74,15 +74,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "breg",
- "source": "src/artifacts/sha256/76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d.json",
+ "source": "src/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
- "artifact_sha256": "76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d.json",
+ "artifact_sha256": "c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json",
"id": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
"documented_by": [
{
@@ -99,6 +99,39 @@
"statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
}
},
+ {
+ "uri": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
+ "title": "Registry Casework runtime configuration",
+ "description": "Registry Casework runtime configuration JSON Schema.",
+ "kind": "schema",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "source": "src/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/schema.rs",
+ "sha256": "e7694b4e5247f8fa7f49f05a65811e740eaa4c960f41d967508bba29e5c437d9"
+ },
+ "artifact_sha256": "74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json",
+ "id": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+ },
{
"uri": "https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json",
"title": "Registry Stack identifier catalog v1",
@@ -110,7 +143,7 @@
"source": "src/artifacts/sha256/e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/identifiers/contracts/catalog.v1.schema.json",
"sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d"
},
@@ -143,7 +176,7 @@
"source": "src/artifacts/sha256/31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/schema/registry-record-v1.schema.json",
"sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e"
},
@@ -165,6 +198,47 @@
"statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
}
},
+ {
+ "uri": "https://id.registrystack.org/schemas/registry-relay/aggregate-result/v1.json",
+ "title": "Registry Relay AggregateResult v1 schema",
+ "description": "JSON Schema for Registry Relay AggregateResult credential subjects.",
+ "kind": "schema",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/schemas.json",
+ "sha256": "9889ad6214e16595e576f40d04c3951faaa142785ab62033de7ffb06ab4b03d3"
+ },
+ "source": "src/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json",
+ "artifact_sha256": "5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json",
+ "id": "https://id.registrystack.org/schemas/registry-relay/aggregate-result/v1.json",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
+ },
{
"uri": "https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1",
"title": "Registry Relay value-free audit event",
@@ -176,7 +250,7 @@
"source": "src/artifacts/sha256/e2b2be3baabb1c5f147a4095eade0d85702d814ec93049b62208fdd7ab1265b8.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/artifacts.rs",
"sha256": "7feb222632ac997903c8809e190fa0c008bf17790e39fa075fc10c3fd3e0bec1"
},
@@ -217,7 +291,7 @@
"source": "src/artifacts/sha256/c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relayctl/schemas/authoring/registry.schema.json",
"sha256": "c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5"
},
@@ -258,7 +332,7 @@
"source": "src/artifacts/sha256/9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relayctl/schemas/authoring/runtime.schema.json",
"sha256": "9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b"
},
@@ -287,6 +361,47 @@
"scope": "identifier metadata",
"statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
}
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/registry-relay/entity-record/v1.json",
+ "title": "Registry Relay EntityRecord v1 schema",
+ "description": "JSON Schema for Registry Relay EntityRecord credential subjects.",
+ "kind": "schema",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/schemas.json",
+ "sha256": "9889ad6214e16595e576f40d04c3951faaa142785ab62033de7ffb06ab4b03d3"
+ },
+ "source": "src/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json",
+ "artifact_sha256": "42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json",
+ "id": "https://id.registrystack.org/schemas/registry-relay/entity-record/v1.json",
+ "documented_by": [
+ {
+ "title": "Contracts and machine identifiers",
+ "href": "https://docs.registrystack.org/reference/contracts/"
+ },
+ {
+ "title": "Registry Relay product docs",
+ "href": "https://docs.registrystack.org/products/registry-relay/"
+ },
+ {
+ "title": "Registry Relay API overview",
+ "href": "https://docs.registrystack.org/reference/apis/registry-relay/"
+ },
+ {
+ "title": "Registry Stack documentation",
+ "href": "https://docs.registrystack.org/"
+ }
+ ],
+ "authority": {
+ "scope": "identifier metadata",
+ "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior."
+ }
}
]
}
diff --git a/public/schemas/registry-relay/aggregate-result/v1.json b/public/schemas/registry-relay/aggregate-result/v1.json
new file mode 100644
index 00000000..dbc31cf8
--- /dev/null
+++ b/public/schemas/registry-relay/aggregate-result/v1.json
@@ -0,0 +1,85 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/registry-relay/aggregate-result/v1.json",
+ "title": "AggregateResult v1",
+ "description": "Structural schema for the `credentialSubject` of an AggregateResult VC.",
+ "type": "object",
+ "required": [
+ "dataset",
+ "aggregateId",
+ "aggregateUrl",
+ "groupBy",
+ "indicators",
+ "rows",
+ "suppressedRows",
+ "minCellSize",
+ "computedAt"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Canonical aggregate URL. Optional duplicate of `aggregateUrl` carried as the JWT `sub`."
+ },
+ "dataset": {
+ "type": "string",
+ "minLength": 1
+ },
+ "aggregateId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "aggregateUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "groupBy": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "indicators": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "rows": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["group", "values"],
+ "additionalProperties": false,
+ "properties": {
+ "group": {
+ "type": "object",
+ "description": "Map of declared group-by field to scalar value; empty for a global aggregate."
+ },
+ "values": {
+ "type": "object",
+ "description": "Map of indicator id to scalar value; `null` indicates disclosure-control suppression of that indicator."
+ }
+ }
+ }
+ },
+ "suppressedRows": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "minCellSize": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "computedAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "asOf": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+}
diff --git a/public/schemas/registry-relay/aggregate-result/v1/index.html b/public/schemas/registry-relay/aggregate-result/v1/index.html
new file mode 100644
index 00000000..c1737fab
--- /dev/null
+++ b/public/schemas/registry-relay/aggregate-result/v1/index.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+ Registry Relay AggregateResult v1 schema | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
JSON Schema
+
Registry Relay AggregateResult v1 schema
+
JSON Schema for Registry Relay AggregateResult credential subjects.
+
https://id.registrystack.org/schemas/registry-relay/aggregate-result/v1.json
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ The canonical machine artifact at this URI is the JSON Schema itself.
+
+
+
+
+
+
+
+
diff --git a/public/schemas/registry-relay/entity-record/v1.json b/public/schemas/registry-relay/entity-record/v1.json
new file mode 100644
index 00000000..6ce86555
--- /dev/null
+++ b/public/schemas/registry-relay/entity-record/v1.json
@@ -0,0 +1,39 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/registry-relay/entity-record/v1.json",
+ "title": "EntityRecord v1",
+ "description": "Structural schema for the `credentialSubject` of an EntityRecord VC. The schema validates the envelope shape; the per-dataset field set is not statically known.",
+ "type": "object",
+ "required": ["dataset", "entity", "subjectId", "fields", "asOf"],
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Canonical entity URL. Optional duplicate of the JWT `sub`."
+ },
+ "dataset": {
+ "type": "string",
+ "minLength": 1
+ },
+ "entity": {
+ "type": "string",
+ "minLength": 1
+ },
+ "subjectId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "fields": {
+ "type": "object",
+ "description": "Projection of the entity record. Field names follow the per-dataset projection config."
+ },
+ "expanded": {
+ "type": "object",
+ "description": "Relationship expansions; present only when ?expand= was requested. Keyed by relationship name."
+ },
+ "asOf": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+}
diff --git a/public/schemas/registry-relay/entity-record/v1/index.html b/public/schemas/registry-relay/entity-record/v1/index.html
new file mode 100644
index 00000000..ab9b0fb2
--- /dev/null
+++ b/public/schemas/registry-relay/entity-record/v1/index.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+ Registry Relay EntityRecord v1 schema | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
JSON Schema
+
Registry Relay EntityRecord v1 schema
+
JSON Schema for Registry Relay EntityRecord credential subjects.
+
https://id.registrystack.org/schemas/registry-relay/entity-record/v1.json
+
+
+
+
+ Authority boundary
+ This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.
+ The canonical machine artifact at this URI is the JSON Schema itself.
+
+
+
+
+
+
+
+
diff --git a/public/vocab/codelist.json b/public/vocab/codelist.json
index 0c1f48cf..6ad91e84 100644
--- a/public/vocab/codelist.json
+++ b/public/vocab/codelist.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/codelist/index.html b/public/vocab/codelist/index.html
index 17ef8ab9..c789421f 100644
--- a/public/vocab/codelist/index.html
+++ b/public/vocab/codelist/index.html
@@ -69,7 +69,7 @@ Identifier record
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/coordinateReferenceSystem.json b/public/vocab/coordinateReferenceSystem.json
index fef9ab81..1ccd0a9f 100644
--- a/public/vocab/coordinateReferenceSystem.json
+++ b/public/vocab/coordinateReferenceSystem.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/coordinateReferenceSystem/index.html b/public/vocab/coordinateReferenceSystem/index.html
index b0f3dd7f..fbf37854 100644
--- a/public/vocab/coordinateReferenceSystem/index.html
+++ b/public/vocab/coordinateReferenceSystem/index.html
@@ -69,7 +69,7 @@ Identifier record
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/core/index.html b/public/vocab/core/index.html
index ee4b5730..7e1ce49d 100644
--- a/public/vocab/core/index.html
+++ b/public/vocab/core/index.html
@@ -70,7 +70,7 @@ Identifier record
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/core/index.json b/public/vocab/core/index.json
index e2f231ce..6701a1d0 100644
--- a/public/vocab/core/index.json
+++ b/public/vocab/core/index.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/geometryType.json b/public/vocab/geometryType.json
index ac39ae0a..93bdc17f 100644
--- a/public/vocab/geometryType.json
+++ b/public/vocab/geometryType.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/geometryType/index.html b/public/vocab/geometryType/index.html
index 64eb2a2a..352bf422 100644
--- a/public/vocab/geometryType/index.html
+++ b/public/vocab/geometryType/index.html
@@ -69,7 +69,7 @@ Identifier record
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/handling.json b/public/vocab/handling.json
index c69406e4..8441614b 100644
--- a/public/vocab/handling.json
+++ b/public/vocab/handling.json
@@ -8,9 +8,9 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/relay-v2/CONCEPT.md",
- "sha256": "5a60dadc119db6869534f2087ca817fe68f86625d3a48510eb26f99774fd62ed"
+ "sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
},
"id": "https://id.registrystack.org/vocab/handling",
"documented_by": [
diff --git a/public/vocab/handling/index.html b/public/vocab/handling/index.html
index 0acc4fd8..f29c3e46 100644
--- a/public/vocab/handling/index.html
+++ b/public/vocab/handling/index.html
@@ -69,9 +69,9 @@ Identifier record
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/relay-v2/CONCEPT.md",
- "sha256": "5a60dadc119db6869534f2087ca817fe68f86625d3a48510eb26f99774fd62ed"
+ "sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
},
"id": "https://id.registrystack.org/vocab/handling",
"documented_by": [
diff --git a/public/vocab/registry-record/index.html b/public/vocab/registry-record/index.html
index cfa419c6..cb51aec9 100644
--- a/public/vocab/registry-record/index.html
+++ b/public/vocab/registry-record/index.html
@@ -69,7 +69,7 @@ Identifier record
"owner": "registry-record",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/context/registry-record-v1.jsonld",
"sha256": "9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71"
},
diff --git a/public/vocab/registry-record/index.json b/public/vocab/registry-record/index.json
index 9e8c3453..7d8e0832 100644
--- a/public/vocab/registry-record/index.json
+++ b/public/vocab/registry-record/index.json
@@ -8,7 +8,7 @@
"owner": "registry-record",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/context/registry-record-v1.jsonld",
"sha256": "9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71"
},
diff --git a/public/vocab/sourceRequired.json b/public/vocab/sourceRequired.json
index aff8e9e6..29becc22 100644
--- a/public/vocab/sourceRequired.json
+++ b/public/vocab/sourceRequired.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/sourceRequired/index.html b/public/vocab/sourceRequired/index.html
index ae112445..fcb1545e 100644
--- a/public/vocab/sourceRequired/index.html
+++ b/public/vocab/sourceRequired/index.html
@@ -69,7 +69,7 @@ Identifier record
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocabularies/core.json b/public/vocabularies/core.json
index e2f231ce..6701a1d0 100644
--- a/public/vocabularies/core.json
+++ b/public/vocabularies/core.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocabularies/index.json b/public/vocabularies/index.json
index 004a0048..e49f2f7b 100644
--- a/public/vocabularies/index.json
+++ b/public/vocabularies/index.json
@@ -10,7 +10,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -45,9 +45,9 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/relay-v2/CONCEPT.md",
- "sha256": "5a60dadc119db6869534f2087ca817fe68f86625d3a48510eb26f99774fd62ed"
+ "sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
},
"id": "https://id.registrystack.org/vocab/handling",
"documented_by": [
@@ -75,7 +75,7 @@
"owner": "registry-record",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/context/registry-record-v1.jsonld",
"sha256": "9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71"
},
@@ -105,7 +105,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -135,7 +135,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -165,7 +165,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -195,7 +195,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/scripts/build-headers.test.mjs b/scripts/build-headers.test.mjs
index a54aa32f..d244342a 100644
--- a/scripts/build-headers.test.mjs
+++ b/scripts/build-headers.test.mjs
@@ -1,8 +1,8 @@
import assert from 'node:assert/strict';
import { execFileSync } from 'node:child_process';
-import { mkdtempSync, readFileSync, rmSync } from 'node:fs';
+import { mkdtempSync, readFileSync, readdirSync, rmSync } from 'node:fs';
import { tmpdir } from 'node:os';
-import { join } from 'node:path';
+import { extname, join } from 'node:path';
import test from 'node:test';
import { fileURLToPath } from 'node:url';
@@ -103,3 +103,53 @@ test('an immutable artifact copy serves the same content type as its canonical U
}
assert.ok(checked > 0, 'expected at least one immutable artifact copy in the catalogs');
});
+
+test('the build retains every digest-addressed artifact in source history', () => {
+ const outputDir = mkdtempSync(join(tmpdir(), 'registrystack-id-build-'));
+ try {
+ execFileSync('node', ['scripts/build.mjs'], {
+ cwd: repoRoot,
+ env: { ...process.env, OUTPUT_DIR: outputDir },
+ stdio: 'pipe',
+ });
+ const sourceArtifacts = readdirSync(
+ join(repoRoot, 'src', 'artifacts', 'sha256'),
+ ).sort();
+ const catalogFiles = ['schemas.json', 'contexts.json', 'profiles.json'];
+ const historicalArtifacts = new Set();
+ for (const catalogFile of catalogFiles) {
+ const path = `src/catalogs/${catalogFile}`;
+ const commits = execFileSync(
+ 'git',
+ ['log', '--format=%H', '--', path],
+ { cwd: repoRoot, encoding: 'utf8' },
+ ).trim().split('\n').filter(Boolean);
+ for (const commit of commits) {
+ const document = JSON.parse(execFileSync(
+ 'git',
+ ['show', `${commit}:${path}`],
+ { cwd: repoRoot, encoding: 'utf8' },
+ ));
+ for (const entry of document.entries ?? []) {
+ if (entry.artifact_sha256 && entry.source) {
+ historicalArtifacts.add(
+ `${entry.artifact_sha256}${extname(entry.source) || '.bin'}`,
+ );
+ }
+ }
+ }
+ }
+ for (const artifact of historicalArtifacts) {
+ assert.ok(
+ sourceArtifacts.includes(artifact),
+ `historically published artifact is missing from source: ${artifact}`,
+ );
+ }
+ const builtArtifacts = readdirSync(
+ join(outputDir, 'artifacts', 'sha256'),
+ ).sort();
+ assert.deepEqual(builtArtifacts, sourceArtifacts);
+ } finally {
+ rmSync(outputDir, { recursive: true, force: true });
+ }
+});
diff --git a/scripts/build.mjs b/scripts/build.mjs
index 69af896c..38c059a6 100644
--- a/scripts/build.mjs
+++ b/scripts/build.mjs
@@ -712,6 +712,21 @@ function writeStaticControls(artifactEntries) {
contentType: 'application/ld+json; charset=utf-8',
cache: 'public, max-age=86400',
},
+ {
+ path: 'artifacts/sha256/*.json',
+ contentType: 'application/schema+json; charset=utf-8',
+ cache: 'public, max-age=31536000, immutable',
+ },
+ {
+ path: 'artifacts/sha256/*.jsonld',
+ contentType: 'application/ld+json; charset=utf-8',
+ cache: 'public, max-age=31536000, immutable',
+ },
+ {
+ path: 'artifacts/sha256/*.md',
+ contentType: 'text/markdown; charset=utf-8',
+ cache: 'public, max-age=31536000, immutable',
+ },
{
path: '.well-known/registrystack-identifiers',
contentType: 'application/json; charset=utf-8',
@@ -742,16 +757,6 @@ function writeStaticControls(artifactEntries) {
if (!coveredByStaticRule(path, contentType, cache)) {
machineHeaders.push({ path, contentType, cache });
}
- if (!entry.immutable_uri) {
- continue;
- }
- // The digest path serves the same bytes as the canonical URI, so it
- // carries the same content type; the file extension only names the copy.
- const immutablePath = uriToPath(entry.immutable_uri);
- const immutableCache = 'public, max-age=31536000, immutable';
- if (!coveredByStaticRule(immutablePath, contentType, immutableCache)) {
- machineHeaders.push({ path: immutablePath, contentType, cache: immutableCache });
- }
}
const exactHeaders = machineHeaders
@@ -794,6 +799,11 @@ for (const entry of namespaces) writeIdentifier(entry);
for (const entry of artifactIdentifiers) writeArtifactIdentifier(entry);
for (const entry of vocabularies) writeIdentifier(entry);
for (const entry of vocabularyTerms) writeIdentifier(entry);
+cpSync(
+ resolve(repoRoot, 'src/artifacts/sha256'),
+ resolve(outputDir, 'artifacts/sha256'),
+ { recursive: true },
+);
writeCatalogIndex('Problems', problems, problemUri);
writeCatalogIndex('Namespaces', namespaces, (entry) => entry.uri.replace(/#$/, ''));
diff --git a/scripts/check-upstream-artifacts.mjs b/scripts/check-upstream-artifacts.mjs
index be4d9092..13203129 100644
--- a/scripts/check-upstream-artifacts.mjs
+++ b/scripts/check-upstream-artifacts.mjs
@@ -134,7 +134,6 @@ for (const [kind, entries] of catalogs) {
}
const upstreamUris = new Set();
-const expectedArtifactNames = new Set();
for (const entry of upstreamCatalog.entries) {
upstreamUris.add(entry.uri);
if (entry.status !== 'active') {
@@ -177,7 +176,6 @@ for (const entry of upstreamCatalog.entries) {
const extension = extname(entry.artifact.path) || '.bin';
const expectedSource =
`src/artifacts/sha256/${entry.artifact.sha256}${extension}`;
- expectedArtifactNames.add(`${entry.artifact.sha256}${extension}`);
if (
publisherEntry.source !== expectedSource ||
publisherEntry.artifact_sha256 !== entry.artifact.sha256 ||
@@ -194,17 +192,38 @@ for (const entry of upstreamCatalog.entries) {
}
}
-for (const uri of published.keys()) {
+for (const [uri, entry] of published.entries()) {
+ if (!upstreamUris.has(uri) && entry.status !== 'deprecated') {
+ fail(`historical identifier is not marked deprecated: ${uri}`);
+ }
if (!upstreamUris.has(uri)) {
- fail(`publisher contains an identifier absent from upstream: ${uri}`);
+ if (!/^[0-9a-f]{40}$/.test(entry.source_reference?.commit ?? '')) {
+ fail(`historical identifier has no exact source commit: ${uri}`);
+ }
+ if (
+ entry.artifact_sha256 &&
+ (!entry.source ||
+ sha256(readFileSync(resolve(repoRoot, entry.source))) !==
+ entry.artifact_sha256)
+ ) {
+ fail(`historical artifact digest differs for ${uri}`);
+ }
}
}
const actualArtifactNames = new Set(
readdirSync(resolve(repoRoot, 'src/artifacts/sha256')),
);
for (const name of actualArtifactNames) {
- if (!expectedArtifactNames.has(name)) {
- fail(`publisher contains an unreferenced immutable artifact: ${name}`);
+ const expectedDigest = name.split('.', 1)[0];
+ if (!/^[0-9a-f]{64}$/.test(expectedDigest)) {
+ fail(`immutable artifact has an invalid digest name: ${name}`);
+ continue;
+ }
+ if (
+ sha256(readFileSync(resolve(repoRoot, 'src/artifacts/sha256', name))) !==
+ expectedDigest
+ ) {
+ fail(`immutable artifact bytes do not match their digest path: ${name}`);
}
}
@@ -212,6 +231,7 @@ if (process.exitCode) {
console.error('upstream catalog check failed');
} else {
console.log(
- `pinned upstream catalog and ${upstreamCatalog.entries.length} identifiers are in sync`,
+ `pinned upstream catalog and ${upstreamCatalog.entries.length} active identifiers are in sync; ` +
+ `${published.size - upstreamUris.size} historical identifiers are preserved`,
);
}
diff --git a/scripts/check.mjs b/scripts/check.mjs
index f33fa101..a470674d 100644
--- a/scripts/check.mjs
+++ b/scripts/check.mjs
@@ -7,7 +7,7 @@ import {
statSync,
} from 'node:fs';
import { tmpdir } from 'node:os';
-import { extname, join, relative, resolve } from 'node:path';
+import { join, relative, resolve } from 'node:path';
import { spawnSync } from 'node:child_process';
import { fileURLToPath } from 'node:url';
@@ -119,7 +119,6 @@ function checkCatalogBindings() {
}
const upstreamUris = new Set();
- const expectedArtifactNames = new Set();
for (const entry of upstream.entries) {
upstreamUris.add(entry.uri);
if (entry.status !== 'active') {
@@ -140,9 +139,6 @@ function checkCatalogBindings() {
throw new Error(`published source binding differs for ${entry.uri}`);
}
if (entry.artifact) {
- expectedArtifactNames.add(
- `${entry.artifact.sha256}${extname(entry.artifact.path) || '.bin'}`,
- );
if (
!current.source ||
digest(resolve(repoRoot, current.source)) !== entry.artifact.sha256
@@ -151,18 +147,38 @@ function checkCatalogBindings() {
}
}
}
- for (const uri of published.keys()) {
+ for (const [uri, entry] of published.entries()) {
+ if (!upstreamUris.has(uri) && entry.status !== 'deprecated') {
+ throw new Error(`historical identifier is not marked deprecated: ${uri}`);
+ }
if (!upstreamUris.has(uri)) {
- throw new Error(`publisher contains an identifier absent from upstream: ${uri}`);
+ if (!/^[0-9a-f]{40}$/.test(entry.source_reference?.commit ?? '')) {
+ throw new Error(`historical identifier has no exact source commit: ${uri}`);
+ }
+ if (
+ entry.artifact_sha256 &&
+ (!entry.source ||
+ digest(resolve(repoRoot, entry.source)) !== entry.artifact_sha256)
+ ) {
+ throw new Error(`historical artifact digest differs for ${uri}`);
+ }
}
}
const artifactNames = readdirSync(resolve(repoRoot, 'src/artifacts/sha256'));
for (const name of artifactNames) {
- if (!expectedArtifactNames.has(name)) {
- throw new Error(`publisher contains an unreferenced immutable artifact: ${name}`);
+ const expectedDigest = name.split('.', 1)[0];
+ if (!/^[0-9a-f]{64}$/.test(expectedDigest)) {
+ throw new Error(`immutable artifact has an invalid digest name: ${name}`);
+ }
+ const actualDigest = digest(resolve(repoRoot, 'src/artifacts/sha256', name));
+ if (actualDigest !== expectedDigest) {
+ throw new Error(`immutable artifact bytes do not match their digest path: ${name}`);
}
}
- console.log(`source catalogs exactly publish ${published.size} active identifiers`);
+ console.log(
+ `source catalogs publish ${upstreamUris.size} active identifiers and preserve ` +
+ `${published.size - upstreamUris.size} historical identifiers`,
+ );
}
try {
diff --git a/scripts/import-registry-stack-catalog.mjs b/scripts/import-registry-stack-catalog.mjs
index 39181403..d82b1484 100644
--- a/scripts/import-registry-stack-catalog.mjs
+++ b/scripts/import-registry-stack-catalog.mjs
@@ -3,9 +3,7 @@ import { execFileSync } from 'node:child_process';
import {
existsSync,
mkdirSync,
- readdirSync,
readFileSync,
- rmSync,
writeFileSync,
} from 'node:fs';
import { dirname, extname, resolve } from 'node:path';
@@ -87,6 +85,140 @@ function uriForEntry(entry, kind) {
return kind === 'problem' ? uriForProblem(entry) : entry.uri;
}
+function historicalOwner(entry) {
+ if (entry.owner) return entry.owner;
+ if (entry.product) return entry.product;
+ const match = entry.uri?.match(/registry-(manifest|notary|relay|record)/);
+ return match ? `registry-${match[1]}` : 'registry-stack';
+}
+
+function historicalSourceReference(entry, commit, catalogFile, catalogBytes) {
+ const reference = entry.source_reference;
+ if (
+ reference &&
+ typeof reference.repository === 'string' &&
+ /^[0-9a-f]{40}$/.test(reference.commit ?? '') &&
+ typeof reference.path === 'string' &&
+ /^[0-9a-f]{64}$/.test(reference.sha256 ?? '')
+ ) {
+ return reference;
+ }
+ return {
+ repository: 'registrystack-id',
+ commit,
+ path: catalogFile,
+ sha256: sha256(catalogBytes),
+ };
+}
+
+function retainHistoricalArtifact(entry, commit) {
+ if (!entry.source) return undefined;
+ let bytes;
+ try {
+ bytes = gitFile(repoRoot, commit, entry.source);
+ } catch {
+ return undefined;
+ }
+ const digest = entry.artifact_sha256 ?? sha256(bytes);
+ if (sha256(bytes) !== digest) {
+ throw new Error(`historical artifact digest does not match: ${entry.source}`);
+ }
+ const extension = extname(entry.source) || '.bin';
+ const source = `src/artifacts/sha256/${digest}${extension}`;
+ const target = resolve(repoRoot, source);
+ mkdirSync(dirname(target), { recursive: true });
+ if (existsSync(target)) {
+ if (sha256(readFileSync(target)) !== digest) {
+ throw new Error(`immutable artifact path contains different bytes: ${source}`);
+ }
+ } else {
+ writeFileSync(target, bytes);
+ }
+ return { source, digest };
+}
+
+function normalizeHistoricalEntry(kind, entry, commit, catalogFile, catalogBytes) {
+ const sourceReference = historicalSourceReference(
+ entry,
+ commit,
+ catalogFile,
+ catalogBytes,
+ );
+ if (kind === 'problem') {
+ return {
+ product: entry.product,
+ code: entry.code,
+ path: entry.path,
+ title: entry.title,
+ description: entry.description ?? entry.title,
+ kind,
+ status: 'deprecated',
+ compatibility_line: entry.compatibility_line ?? 'legacy',
+ owner: historicalOwner(entry),
+ http_statuses: entry.http_statuses ?? null,
+ source: entry.source ?? `registrystack-id/${catalogFile}`,
+ source_reference: sourceReference,
+ };
+ }
+
+ const retained = retainHistoricalArtifact(entry, commit);
+ const normalized = {
+ uri: entry.uri,
+ title: entry.title,
+ description: entry.description ?? entry.title,
+ kind,
+ status: 'deprecated',
+ compatibility_line: entry.compatibility_line ?? 'legacy',
+ owner: historicalOwner(entry),
+ source_reference: sourceReference,
+ };
+ if (retained) {
+ normalized.source = retained.source;
+ normalized.artifact_sha256 = retained.digest;
+ normalized.immutable_uri =
+ `${baseUrl}/${retained.source.replace(/^src\//, '')}`;
+ }
+ return normalized;
+}
+
+function publishedHistory(kind, catalogFile) {
+ let commits;
+ try {
+ commits = gitText(repoRoot, 'log', '--format=%H', '--', catalogFile)
+ .split('\n')
+ .filter(Boolean);
+ } catch {
+ return [];
+ }
+ const entries = new Map();
+ for (const commit of commits) {
+ let catalogBytes;
+ try {
+ catalogBytes = gitFile(repoRoot, commit, catalogFile);
+ } catch {
+ continue;
+ }
+ const document = JSON.parse(catalogBytes.toString('utf8'));
+ for (const entry of document.entries ?? []) {
+ const uri = uriForEntry(entry, kind);
+ // Normalize every historical revision before URI deduplication so every
+ // digest-addressed artifact ever published for an advancing canonical
+ // URI is restored. The newest record still supplies deprecated metadata.
+ const normalized = normalizeHistoricalEntry(
+ kind,
+ entry,
+ commit,
+ catalogFile,
+ catalogBytes,
+ );
+ if (!entries.has(uri)) {
+ entries.set(uri, normalized);
+ }
+ }
+ }
+ return [...entries.values()];
+}
+
export function mergeCatalog(previous, incoming, kind) {
const oldByUri = new Map();
for (const entry of previous) {
@@ -112,10 +244,18 @@ export function mergeCatalog(previous, incoming, kind) {
currentByUri.set(uri, entry);
}
- const merged = [...currentByUri.values()].map((current) => ({
+ const active = [...currentByUri.values()].map((current) => ({
...current,
kind,
}));
+ const historical = [...oldByUri.entries()]
+ .filter(([uri]) => !currentByUri.has(uri))
+ .map(([, previousEntry]) => ({
+ ...previousEntry,
+ kind,
+ status: 'deprecated',
+ }));
+ const merged = [...active, ...historical];
return merged.sort((left, right) =>
uriForEntry(left, kind).localeCompare(uriForEntry(right, kind), 'en'),
);
@@ -202,19 +342,6 @@ function validateSourceBindings(stackRoot, revision, entries) {
}
}
-function pruneArtifacts(referencedSources) {
- const artifactRoot = resolve(repoRoot, 'src/artifacts/sha256');
- if (!existsSync(artifactRoot)) {
- return;
- }
- for (const name of readdirSync(artifactRoot)) {
- const source = `src/artifacts/sha256/${name}`;
- if (!referencedSources.has(source)) {
- rmSync(resolve(artifactRoot, name));
- }
- }
-}
-
function assertKindsAreStable(catalogs, imported) {
const historicalKinds = new Map();
for (const [kind, entries] of Object.entries(catalogs)) {
@@ -259,9 +386,15 @@ export function importCatalog(stackRoot, revision) {
const previous = {};
const imported = {};
for (const [kind, file] of Object.entries(catalogFiles)) {
- previous[kind] = existsSync(resolve(repoRoot, file))
+ const current = existsSync(resolve(repoRoot, file))
? readJson(file).entries
: [];
+ const byUri = new Map(current.map((entry) => [uriForEntry(entry, kind), entry]));
+ for (const historical of publishedHistory(kind, file)) {
+ const uri = uriForEntry(historical, kind);
+ if (!byUri.has(uri)) byUri.set(uri, historical);
+ }
+ previous[kind] = [...byUri.values()];
imported[kind] = [];
}
assertKindsAreStable(previous, catalog.entries);
@@ -279,15 +412,6 @@ export function importCatalog(stackRoot, revision) {
identifierEntry(entry, resolvedRevision, artifactSource),
);
}
- pruneArtifacts(
- new Set(
- Object.values(imported)
- .flat()
- .map((entry) => entry.source)
- .filter((source) => source?.startsWith('src/artifacts/sha256/')),
- ),
- );
-
for (const [kind, file] of Object.entries(catalogFiles)) {
const entries = mergeCatalog(previous[kind], imported[kind], kind);
writeJson(
diff --git a/scripts/import-registry-stack-catalog.test.mjs b/scripts/import-registry-stack-catalog.test.mjs
index 8aa638c0..47c6a454 100644
--- a/scripts/import-registry-stack-catalog.test.mjs
+++ b/scripts/import-registry-stack-catalog.test.mjs
@@ -22,7 +22,7 @@ test('catalog import requires an explicit full source commit', () => {
assert.equal(parsed.revision, 'a'.repeat(40));
});
-test('catalog merge drops identifiers absent from the current source catalog', () => {
+test('catalog merge preserves identifiers absent from the current source catalog', () => {
const result = mergeCatalog(
[
{
@@ -35,7 +35,34 @@ test('catalog merge drops identifiers absent from the current source catalog', (
[],
'problem',
);
- assert.deepEqual(result, []);
+ assert.equal(result.length, 1);
+ assert.equal(result[0].path, 'legacy/problem');
+ assert.equal(result[0].status, 'deprecated');
+});
+
+test('catalog merge restores a historical identifier when it becomes active again', () => {
+ const result = mergeCatalog(
+ [
+ {
+ uri: 'https://id.registrystack.org/ns/example/v1#',
+ title: 'Historical title',
+ kind: 'namespace',
+ status: 'deprecated',
+ },
+ ],
+ [
+ {
+ uri: 'https://id.registrystack.org/ns/example/v1#',
+ title: 'Current title',
+ kind: 'namespace',
+ status: 'active',
+ },
+ ],
+ 'namespace',
+ );
+ assert.equal(result.length, 1);
+ assert.equal(result[0].title, 'Current title');
+ assert.equal(result[0].status, 'active');
});
test('catalog merge replaces historical fields with exact current metadata', () => {
diff --git a/scripts/release-publication-workflow.test.mjs b/scripts/release-publication-workflow.test.mjs
new file mode 100644
index 00000000..e5deb296
--- /dev/null
+++ b/scripts/release-publication-workflow.test.mjs
@@ -0,0 +1,31 @@
+import assert from 'node:assert/strict';
+import { readFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import test from 'node:test';
+import { fileURLToPath } from 'node:url';
+
+const repoRoot = fileURLToPath(new URL('..', import.meta.url));
+const workflow = readFileSync(
+ resolve(repoRoot, '.github/workflows/deploy-cloudflare-workers.yml'),
+ 'utf8',
+);
+
+test('release publication deploys one reviewed exact released catalog', () => {
+ for (const input of [
+ 'released_tag:',
+ 'source_sha:',
+ 'catalog_sha256:',
+ 'request_id:',
+ ]) {
+ assert.match(workflow, new RegExp(`^ ${input}\\n [^\\n]+\\n required: true$`, 'm'));
+ }
+ assert.doesNotMatch(workflow, /^ push:/m);
+ assert.match(workflow, /Released Registry Stack tag must be annotated/);
+ assert.match(workflow, /refs\/remotes\/origin\/main/);
+ assert.match(workflow, /actual_catalog_sha256/);
+ assert.match(workflow, /inputs do not match the reviewed publisher bundle/);
+ assert.doesNotMatch(workflow, /npm run import:catalog/);
+ assert.match(workflow, /npm run check:upstream/);
+ assert.match(workflow, /npm run smoke:catalog/);
+ assert.match(workflow, /npm run smoke:live/);
+});
diff --git a/scripts/report-catalog-change.mjs b/scripts/report-catalog-change.mjs
index 18ca6d97..044a286a 100644
--- a/scripts/report-catalog-change.mjs
+++ b/scripts/report-catalog-change.mjs
@@ -9,11 +9,14 @@ const catalogs = [
['problem', 'src/catalogs/problems.json'],
['schema', 'src/catalogs/schemas.json'],
['context', 'src/catalogs/contexts.json'],
+ ['profile', 'src/catalogs/profiles.json'],
['namespace', 'src/catalogs/namespaces.json'],
['vocabulary', 'src/catalogs/vocabularies.json'],
['vocabulary-term', 'src/catalogs/vocabulary-terms.json'],
];
+export const catalogKinds = catalogs.map(([kind]) => kind);
+
function problemUri(entry) {
return `${baseUrl}/problems/${entry.product}/${entry.path}`;
}
diff --git a/scripts/report-catalog-change.test.mjs b/scripts/report-catalog-change.test.mjs
index 89c87129..a6bf43a0 100644
--- a/scripts/report-catalog-change.test.mjs
+++ b/scripts/report-catalog-change.test.mjs
@@ -2,6 +2,7 @@ import assert from 'node:assert/strict';
import test from 'node:test';
import {
+ catalogKinds,
renderMarkdown,
summarizeCatalogs,
} from './report-catalog-change.mjs';
@@ -17,6 +18,18 @@ function entry(uri, values = {}) {
};
}
+test('catalog change summary includes every published identifier kind', () => {
+ assert.deepEqual(catalogKinds, [
+ 'problem',
+ 'schema',
+ 'context',
+ 'profile',
+ 'namespace',
+ 'vocabulary',
+ 'vocabulary-term',
+ ]);
+});
+
test('catalog change summary classifies additions, removals, and updates', () => {
const summary = summarizeCatalogs(
[
diff --git a/scripts/smoke-catalog.mjs b/scripts/smoke-catalog.mjs
new file mode 100644
index 00000000..f650de71
--- /dev/null
+++ b/scripts/smoke-catalog.mjs
@@ -0,0 +1,165 @@
+import { readdirSync, readFileSync } from 'node:fs';
+import { extname, resolve } from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+const repoRoot = resolve(fileURLToPath(new URL('..', import.meta.url)));
+const canonicalBaseUrl = 'https://id.registrystack.org';
+const baseUrl = (
+ process.env.IDENTIFIER_BASE_URL ?? canonicalBaseUrl
+).replace(/\/$/, '');
+const catalogFiles = [
+ 'problems.json',
+ 'namespaces.json',
+ 'schemas.json',
+ 'contexts.json',
+ 'profiles.json',
+ 'vocabularies.json',
+ 'vocabulary-terms.json',
+];
+
+function readJson(path) {
+ return JSON.parse(readFileSync(resolve(repoRoot, path), 'utf8'));
+}
+
+function expectedBytes(path) {
+ return readFileSync(resolve(repoRoot, 'public', path));
+}
+
+function uriPath(uri) {
+ return new URL(uri).pathname.replace(/^\//, '');
+}
+
+function problemUri(entry) {
+ return `${canonicalBaseUrl}/problems/${entry.product}/${entry.path}`;
+}
+
+function entryUri(entry) {
+ return entry.kind === 'problem' ? problemUri(entry) : entry.uri;
+}
+
+function localUrl(uri) {
+ const parsed = new URL(uri);
+ return `${baseUrl}${parsed.pathname}${parsed.search}`;
+}
+
+function mediaType(contentType) {
+ return contentType?.split(';', 1)[0].trim().toLowerCase() ?? '';
+}
+
+function expectedArtifactMediaType(path) {
+ switch (extname(path)) {
+ case '.jsonld':
+ return 'application/ld+json';
+ case '.md':
+ return 'text/markdown';
+ default:
+ return 'application/schema+json';
+ }
+}
+
+async function fetchExact(url, expectedPath, expectedMediaType) {
+ const response = await fetch(url, {
+ headers: expectedMediaType ? { accept: expectedMediaType } : undefined,
+ signal: AbortSignal.timeout(15_000),
+ });
+ const actual = Buffer.from(await response.arrayBuffer());
+ if (!response.ok) {
+ throw new Error(`${url} returned HTTP ${response.status}`);
+ }
+ const expected = expectedBytes(expectedPath);
+ if (!actual.equals(expected)) {
+ throw new Error(
+ `${url} returned bytes that differ from public/${expectedPath}`,
+ );
+ }
+ if (
+ baseUrl === canonicalBaseUrl &&
+ expectedMediaType &&
+ mediaType(response.headers.get('content-type')) !== expectedMediaType
+ ) {
+ throw new Error(
+ `${url} returned ${response.headers.get('content-type')}, expected ${expectedMediaType}`,
+ );
+ }
+}
+
+async function checkEntry(entry) {
+ const uri = entryUri(entry);
+ const path = uriPath(uri);
+ if (entry.artifact_sha256) {
+ const expectedMediaType = expectedArtifactMediaType(entry.source);
+ await fetchExact(localUrl(uri), path, expectedMediaType);
+ if (!entry.immutable_uri) {
+ throw new Error(`${uri} does not name an immutable artifact URI`);
+ }
+ await fetchExact(
+ localUrl(entry.immutable_uri),
+ uriPath(entry.immutable_uri),
+ expectedMediaType,
+ );
+ return;
+ }
+
+ const pagePath = `${path.replace(/\/$/, '')}/index.html`;
+ await fetchExact(localUrl(uri), pagePath, 'text/html');
+ const recordPath = entry.kind === 'problem'
+ ? `${path}.json`
+ : path.endsWith('/')
+ ? `${path}index.json`
+ : `${path}.json`;
+ await fetchExact(`${baseUrl}/${recordPath}`, recordPath, 'application/json');
+}
+
+const entries = catalogFiles.flatMap(
+ (path) => readJson(`src/catalogs/${path}`).entries,
+);
+const digestArtifacts = readdirSync(resolve(repoRoot, 'src/artifacts/sha256'))
+ .sort()
+ .map((name) => ({
+ name,
+ run: () => fetchExact(
+ `${baseUrl}/artifacts/sha256/${name}`,
+ `artifacts/sha256/${name}`,
+ expectedArtifactMediaType(name),
+ ),
+ }));
+const checks = [
+ ...entries.map((entry) => ({
+ name: entryUri(entry),
+ run: () => checkEntry(entry),
+ })),
+ ...digestArtifacts.map((artifact) => ({
+ name: `${canonicalBaseUrl}/artifacts/sha256/${artifact.name}`,
+ run: artifact.run,
+ })),
+];
+
+let nextIndex = 0;
+const results = new Array(checks.length);
+async function worker() {
+ while (nextIndex < checks.length) {
+ const index = nextIndex;
+ nextIndex += 1;
+ try {
+ await checks[index].run();
+ results[index] = { status: 'fulfilled' };
+ } catch (reason) {
+ results[index] = { status: 'rejected', reason };
+ }
+ }
+}
+await Promise.all(Array.from({ length: Math.min(8, checks.length) }, worker));
+const failures = results
+ .map((result, index) => ({ result, check: checks[index] }))
+ .filter(({ result }) => result.status === 'rejected');
+for (const { result, check } of failures) {
+ console.error(`${check.name}: ${result.reason.message}`);
+}
+if (failures.length > 0) {
+ throw new Error(
+ `${failures.length} of ${checks.length} catalog and immutable artifact checks failed on ${baseUrl}`,
+ );
+}
+console.log(
+ `all ${entries.length} active and deprecated identifiers plus ${digestArtifacts.length} retained immutable artifacts passed exact-byte checks on ${baseUrl}`,
+);
diff --git a/scripts/smoke-live.mjs b/scripts/smoke-live.mjs
index ce07cd48..c77bc44e 100644
--- a/scripts/smoke-live.mjs
+++ b/scripts/smoke-live.mjs
@@ -14,15 +14,6 @@ async function readJson(path) {
return response.json();
}
-async function expectNotFound(path) {
- const response = await fetch(`${baseUrl}${path}`, {
- signal: AbortSignal.timeout(15_000),
- });
- if (response.status !== 404) {
- throw new Error(`${path} returned HTTP ${response.status}, expected 404`);
- }
-}
-
const index = await readJson('/index.json');
if (index.base_url !== canonicalBaseUrl || !index.catalogs?.vocabularies) {
throw new Error('root catalog does not describe the current resolver');
@@ -39,6 +30,15 @@ if (
throw new Error('representative Relay V2 problem record is stale');
}
+const namespace = await readJson('/ns/registry-manifest/v1.json');
+if (
+ namespace.id !== 'https://id.registrystack.org/ns/registry-manifest/v1#' ||
+ namespace.kind !== 'namespace' ||
+ namespace.status !== 'active'
+) {
+ throw new Error('Registry Manifest namespace record is stale');
+}
+
const schema = await readJson(
'/schemas/identifiers/catalog.v1.schema.json',
);
@@ -93,6 +93,13 @@ if (baseUrl === canonicalBaseUrl) {
}
}
-await expectNotFound('/ns/registry-relay/v1.json');
+const historicalNamespace = await readJson('/ns/registry-relay/v1.json');
+if (
+ historicalNamespace.id !== 'https://id.registrystack.org/ns/registry-relay/v1#' ||
+ historicalNamespace.kind !== 'namespace' ||
+ historicalNamespace.status !== 'deprecated'
+) {
+ throw new Error('historical Registry Relay namespace was not preserved');
+}
console.log(`identifier availability smoke passed for ${baseUrl}`);
diff --git a/src/artifacts/sha256/25eb7b86185ab1d3aa5919752790c2600b5610b484397836eab17b82924e9d01.json b/src/artifacts/sha256/25eb7b86185ab1d3aa5919752790c2600b5610b484397836eab17b82924e9d01.json
new file mode 100644
index 00000000..159a904c
--- /dev/null
+++ b/src/artifacts/sha256/25eb7b86185ab1d3aa5919752790c2600b5610b484397836eab17b82924e9d01.json
@@ -0,0 +1,84 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json",
+ "title": "Registry Stack identifier catalog v1",
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["version", "baseUrl", "entries"],
+ "properties": {
+ "version": { "const": 1 },
+ "baseUrl": { "const": "https://id.registrystack.org" },
+ "entries": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/entry" }
+ }
+ },
+ "$defs": {
+ "sha256": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{64}$"
+ },
+ "source": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["path", "sha256"],
+ "properties": {
+ "path": { "type": "string", "minLength": 1 },
+ "sha256": { "$ref": "#/$defs/sha256" }
+ }
+ },
+ "artifact": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["path", "sha256", "mediaType"],
+ "properties": {
+ "path": { "type": "string", "minLength": 1 },
+ "sha256": { "$ref": "#/$defs/sha256" },
+ "mediaType": { "type": "string", "minLength": 1 }
+ }
+ },
+ "problem": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["code", "httpStatuses"],
+ "properties": {
+ "code": { "type": "string", "minLength": 1 },
+ "httpStatuses": {
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "items": { "type": "integer", "minimum": 100, "maximum": 599 }
+ }
+ }
+ },
+ "entry": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["uri", "kind", "status", "compatibilityLine", "owner", "title", "description", "source"],
+ "properties": {
+ "uri": { "type": "string", "pattern": "^https://id\\.registrystack\\.org/" },
+ "kind": {
+ "enum": ["problem", "schema", "context", "namespace", "vocabulary", "vocabulary-term"]
+ },
+ "status": { "const": "active" },
+ "compatibilityLine": { "type": "string", "minLength": 1 },
+ "owner": { "type": "string", "minLength": 1 },
+ "title": { "type": "string", "minLength": 1 },
+ "description": { "type": "string", "minLength": 1 },
+ "source": { "$ref": "#/$defs/source" },
+ "artifact": { "$ref": "#/$defs/artifact" },
+ "problem": { "$ref": "#/$defs/problem" }
+ },
+ "allOf": [
+ {
+ "if": { "properties": { "kind": { "const": "problem" } }, "required": ["kind"] },
+ "then": { "required": ["problem"] }
+ },
+ {
+ "if": { "properties": { "kind": { "enum": ["schema", "context"] } }, "required": ["kind"] },
+ "then": { "required": ["artifact"] }
+ }
+ ]
+ }
+ }
+}
diff --git a/src/artifacts/sha256/27e592e90e643a7fb58045deb716678d3740be17bc60f9fdb109bb28cd9b7f95.json b/src/artifacts/sha256/27e592e90e643a7fb58045deb716678d3740be17bc60f9fdb109bb28cd9b7f95.json
new file mode 100644
index 00000000..0989ece6
--- /dev/null
+++ b/src/artifacts/sha256/27e592e90e643a7fb58045deb716678d3740be17bc60f9fdb109bb28cd9b7f95.json
@@ -0,0 +1,886 @@
+{
+ "$defs": {
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "EventDestinationDnsFamily": {
+ "enum": [
+ "dualStackStrict",
+ "ipv4Only"
+ ],
+ "type": "string"
+ },
+ "EventDestinationNetworkProfile": {
+ "enum": [
+ "productionHttps",
+ "loopbackDevelopmentHttp"
+ ],
+ "type": "string"
+ },
+ "OidcAlgorithm": {
+ "enum": [
+ "EdDSA",
+ "ES256",
+ "ES384",
+ "RS256",
+ "RS384"
+ ],
+ "type": "string"
+ },
+ "RawAuditConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "hashKeyRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hashKeyRef"
+ ],
+ "type": "object"
+ },
+ "RawAuthenticationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityClaims": {
+ "$ref": "#/$defs/RawAuthorityClaimsConfig"
+ },
+ "oidc": {
+ "$ref": "#/$defs/RawOidcVerifierConfig"
+ }
+ },
+ "required": [
+ "oidc",
+ "authorityClaims"
+ ],
+ "type": "object"
+ },
+ "RawAuthorityClaimsConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "principal": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "sub",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "purpose": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "sub",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "principal"
+ ],
+ "type": "object"
+ },
+ "RawCursorConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "maxAgeSeconds": {
+ "default": 300,
+ "description": "Defaults to the bounded cursor validity lifetime.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "secretRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "secretRef"
+ ],
+ "type": "object"
+ },
+ "RawDatabaseConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "migrationUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "pool": {
+ "$ref": "#/$defs/RawPoolBounds"
+ },
+ "roles": {
+ "$ref": "#/$defs/RawSqlRoles"
+ },
+ "runtimeUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "runtimeUrlRef",
+ "migrationUrlRef",
+ "pool",
+ "roles"
+ ],
+ "type": "object"
+ },
+ "RawDeploymentIdentity": {
+ "additionalProperties": false,
+ "properties": {
+ "databaseId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "databaseInitializationEnvironment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "environment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "instanceId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "databaseId",
+ "databaseInitializationEnvironment"
+ ],
+ "type": "object"
+ },
+ "RawEnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "RawEventDeliveryConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "payloadRetentionDays": {
+ "default": 7,
+ "description": "Defaults to the bounded retained payload lifetime for pending or dead-letter webhook work.",
+ "format": "uint8",
+ "maximum": 30,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawEventDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedPrivateCidrs": {
+ "description": "Explicitly allowed private network ranges in canonical CIDR notation.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification",
+ "description": "Highest permitted classification, including fields used only in event conditions."
+ },
+ "deliveryCeilings": {
+ "$ref": "#/$defs/RawEventDestinationDeliveryCeilings",
+ "description": "Per-destination limits that may tighten, but never increase, the compiled delivery limits."
+ },
+ "dnsFamily": {
+ "$ref": "#/$defs/EventDestinationDnsFamily",
+ "description": "Address families to validate when resolving the destination."
+ },
+ "hmacSha256KeyRef": {
+ "description": "Runtime secret reference for the receiver's shared HMAC-SHA-256 key.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "networkProfile": {
+ "$ref": "#/$defs/EventDestinationNetworkProfile",
+ "description": "HTTPS for production, or explicit loopback-only HTTP for local development."
+ },
+ "origin": {
+ "description": "Receiver origin without a path or query, such as `https://receiver.example.com`.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "path": {
+ "description": "Absolute request path on the configured origin, such as `/events`.",
+ "maxLength": 4096,
+ "minLength": 1,
+ "pattern": "^/[\\x20-\\x22\\x24\\x26-\\x3E\\x40-\\x5B\\x5D-\\x7E]*$",
+ "type": "string"
+ },
+ "tls": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEventDestinationTlsConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional private CA and client identity secret references for HTTPS."
+ }
+ },
+ "required": [
+ "origin",
+ "path",
+ "networkProfile",
+ "dnsFamily",
+ "allowedPrivateCidrs",
+ "hmacSha256KeyRef",
+ "classificationCeiling",
+ "deliveryCeilings"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationDeliveryCeilings": {
+ "additionalProperties": false,
+ "properties": {
+ "attemptTimeoutMilliseconds": {
+ "description": "Maximum time allowed for one attempt, in milliseconds.",
+ "format": "uint32",
+ "maximum": 5000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "maximumAttempts": {
+ "description": "Maximum total attempts in one delivery generation, including the first attempt.",
+ "format": "uint8",
+ "maximum": 5,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "attemptTimeoutMilliseconds",
+ "maximumAttempts"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationTlsConfig": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "properties": {
+ "caBundleRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "caBundleRef"
+ ]
+ },
+ {
+ "properties": {
+ "clientIdentityRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "clientIdentityRef"
+ ]
+ }
+ ],
+ "properties": {
+ "caBundleRef": {
+ "description": "PEM CA bundle secret reference, when the receiver uses a private certificate authority.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientIdentityRef": {
+ "description": "PEM client identity secret reference for mutual TLS.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawFileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "RawJwksCacheConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "cacheTtlSeconds": {
+ "default": 600,
+ "description": "Defaults to the bounded JWKS cache time-to-live.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxDocumentBytes": {
+ "default": 65536,
+ "description": "Defaults to the bounded maximum JWKS document size.",
+ "format": "uint64",
+ "maximum": 1048576,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "negativeCacheTtlSeconds": {
+ "default": 60,
+ "description": "Defaults to the bounded JWKS negative-cache time-to-live.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "outageToleranceSeconds": {
+ "default": 900,
+ "description": "Defaults to the bounded cached-key outage tolerance.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "refreshCooldownSeconds": {
+ "default": 30,
+ "description": "Defaults to the bounded JWKS refresh cooldown.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded JWKS fetch timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "type": "string"
+ },
+ "publicOrigin": {
+ "description": "Canonical HTTPS origin (loopback HTTP for local development) for QGIS\ndiscovery and pagination. Required when the registry exposes GIS collections.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^https?://[^/@?#\\s]+/?$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawMetricsListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "description": "Operator-private loopback or private numeric address and named port,\nfor example `127.0.0.1:9100`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawOidcJwksSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "discovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "documentRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "documentRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawOidcVerifierConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "accessTokenType": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "allowedAlgorithm": {
+ "$ref": "#/$defs/OidcAlgorithm"
+ },
+ "allowedClients": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "audience": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "deniedKids": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "issuer": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "jwksCache": {
+ "$ref": "#/$defs/RawJwksCacheConfig",
+ "default": {
+ "cacheTtlSeconds": 600,
+ "maxDocumentBytes": 65536,
+ "negativeCacheTtlSeconds": 60,
+ "outageToleranceSeconds": 900,
+ "refreshCooldownSeconds": 30,
+ "requestTimeoutMilliseconds": 5000
+ },
+ "description": "Optional JWKS fetch and cache tuning. Defaults to bounded cache behavior."
+ },
+ "jwksSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawOidcJwksSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "leewayMilliseconds": {
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxTokenLifetimeSeconds": {
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "scopeClaim": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "scopeSeparator": {
+ "maxLength": 1,
+ "minLength": 1,
+ "pattern": "^[^A-Za-z0-9\\x00-\\x1F\\x7F]$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "issuer",
+ "audience",
+ "allowedAlgorithm",
+ "accessTokenType",
+ "scopeClaim",
+ "scopeSeparator",
+ "maxTokenLifetimeSeconds",
+ "leewayMilliseconds"
+ ],
+ "type": "object"
+ },
+ "RawOperationalTimeouts": {
+ "additionalProperties": false,
+ "properties": {
+ "httpRequestMilliseconds": {
+ "default": 10000,
+ "description": "Defaults to the bounded per-request HTTP timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationLockMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded migration lock timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationStatementMilliseconds": {
+ "default": 60000,
+ "description": "Defaults to the bounded migration statement timeout.",
+ "format": "uint64",
+ "maximum": 3600000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recordLockMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded record lock timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "shutdownGraceMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded graceful-shutdown timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawPackageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "activeRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "activeSequence": {
+ "format": "uint64",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "compilerSourceRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "trustAnchorPath": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root",
+ "trustAnchorPath",
+ "compilerSourceRevision",
+ "activeRevision",
+ "activeSequence"
+ ],
+ "type": "object"
+ },
+ "RawPoolBounds": {
+ "additionalProperties": false,
+ "properties": {
+ "createTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-creation timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxSize": {
+ "format": "uint",
+ "maximum": 128,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recycleTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-recycle timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "waitTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool wait timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maxSize"
+ ],
+ "type": "object"
+ },
+ "RawSecretProvidersConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEnvironmentSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawFileSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawSqlRoles": {
+ "additionalProperties": false,
+ "properties": {
+ "migration": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ },
+ "runtime": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "migration",
+ "runtime"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/breg-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/RawAuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/RawAuthenticationConfig"
+ },
+ "cursor": {
+ "$ref": "#/$defs/RawCursorConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/RawDatabaseConfig"
+ },
+ "eventDelivery": {
+ "$ref": "#/$defs/RawEventDeliveryConfig",
+ "default": {
+ "payloadRetentionDays": 7
+ },
+ "description": "Optional event-delivery tuning. Defaults to the server's bounded retention policy."
+ },
+ "eventDestinations": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawEventDestinationConfig"
+ },
+ "maxProperties": 128,
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "identity": {
+ "$ref": "#/$defs/RawDeploymentIdentity"
+ },
+ "kind": {
+ "const": "BRegRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/RawListenerConfig"
+ },
+ "metricsListener": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawMetricsListenerConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Optional operator-private metrics listener. Absent by default, which\nserves no metrics surface at all."
+ },
+ "operationalTimeouts": {
+ "$ref": "#/$defs/RawOperationalTimeouts",
+ "default": {
+ "httpRequestMilliseconds": 10000,
+ "migrationLockMilliseconds": 30000,
+ "migrationStatementMilliseconds": 60000,
+ "recordLockMilliseconds": 5000,
+ "shutdownGraceMilliseconds": 30000
+ },
+ "description": "Optional operational request, shutdown, locking, and migration timeout tuning."
+ },
+ "package": {
+ "$ref": "#/$defs/RawPackageConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/RawSecretProvidersConfig"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "listener",
+ "identity",
+ "secretProviders",
+ "database",
+ "package",
+ "authentication",
+ "audit",
+ "cursor"
+ ],
+ "title": "Base Registry Engine runtime configuration",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json b/src/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json
new file mode 100644
index 00000000..341c931e
--- /dev/null
+++ b/src/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json
@@ -0,0 +1,4345 @@
+{
+ "$defs": {
+ "AccessPermissionSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EntityAccessPermissionSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ActionAccessPermissionSourceSchema"
+ }
+ ]
+ },
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionAccessPermissionSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "type": "string"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "results": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionTargetPermissionSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "action",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "outputs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "outputs",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi",
+ "writes"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "id",
+ "target",
+ "operation",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "equals": true,
+ "equalsInput": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ },
+ "input": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "input",
+ "field"
+ ],
+ "type": "object"
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "evidence": {
+ "items": {
+ "$ref": "#/$defs/ActionEvidenceSource"
+ },
+ "type": "array"
+ },
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActionHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ },
+ "requires": {
+ "description": "Acceptance-time checks over exact existing reference inputs, combined with AND.",
+ "items": {
+ "$ref": "#/$defs/ActionRequirementSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActorKindSource": {
+ "enum": [
+ "human",
+ "agent",
+ "service"
+ ],
+ "type": "string"
+ },
+ "ApplyTargetPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "AttachmentSlotSource": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "contentTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "required",
+ "maximumBytes",
+ "contentTypes",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "output": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "output"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceRequirementSource"
+ },
+ "type": "array"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestSelectorSource"
+ },
+ "description": "Exact governed selector-profile field map. Every profile field must be\npresent exactly once and no undeclared field is admitted.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "profile",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestGuardTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "fromField": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "entity",
+ "fromField"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPreconditionsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Governed Evidence acquisitions required immediately before application.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSource"
+ },
+ "type": "array"
+ },
+ "request": {
+ "description": "Predicates over the frozen request intake itself.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ },
+ "targets": {
+ "description": "Existing records read and revision-bound at proposal preparation.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestGuardTargetSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPredicateSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "currentDate": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestCurrentDatePredicateSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludePreviousReviewers": {
+ "default": false,
+ "description": "Refuse an actor who already decided another stage of this proposal version.",
+ "type": "boolean"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSelectorSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "request_field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "target_field",
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "target",
+ "field"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityAccessPermissionSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "allowDataExport": {
+ "default": false,
+ "type": "boolean"
+ },
+ "applyTargets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ApplyTargetPermissionSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupPermissionSource"
+ },
+ "type": "array"
+ },
+ "membershipBoundaries": {
+ "description": "Current active membership required for each stored reference key.",
+ "items": {
+ "$ref": "#/$defs/MembershipBoundarySource"
+ },
+ "type": "array"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "readPaths": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReadPathPermissionSource"
+ },
+ "type": "array"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "readableRequestFields": {
+ "description": "Readable change-request decision detail. Anonymous profiles never receive reason text.",
+ "items": {
+ "$ref": "#/$defs/RequestMetadataFieldSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requestPresence": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RequestPresencePermissionSource"
+ },
+ "type": "array"
+ },
+ "requestVisibility": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RequestVisibilitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "reviewStages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStagePermissionSource"
+ },
+ "type": "array"
+ },
+ "revisionAccess": {
+ "default": false,
+ "type": "boolean"
+ },
+ "rowBoundaries": {
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "spatialQueries": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialQueryPermissionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "submitterTargets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "writableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "entity",
+ "operations",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "attachments": {
+ "description": "Governed binary slots on change-request entities, projected under their exact IDs.",
+ "items": {
+ "$ref": "#/$defs/AttachmentSlotSource"
+ },
+ "type": "array"
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "EvidenceProviderSource": {
+ "additionalProperties": false,
+ "properties": {
+ "contracts": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "subjectResolution": {
+ "$ref": "#/$defs/EvidenceSubjectResolution"
+ }
+ },
+ "required": [
+ "id",
+ "contracts",
+ "subjectResolution"
+ ],
+ "type": "object"
+ },
+ "EvidenceSubjectResolution": {
+ "enum": [
+ "trusted-provider-exact-selector"
+ ],
+ "type": "string"
+ },
+ "EvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile"
+ ],
+ "type": "object"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "LookupPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "claimMapping": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "selector": {
+ "type": "string"
+ },
+ "valueOrigin": {
+ "$ref": "#/$defs/LookupValueOrigin"
+ }
+ },
+ "required": [
+ "selector",
+ "valueOrigin"
+ ],
+ "type": "object"
+ },
+ "LookupValueOrigin": {
+ "enum": [
+ "request",
+ "verified_claim"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionApplicationProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionCatalogSource": {
+ "additionalProperties": false,
+ "properties": {
+ "applicationProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionApplicationProfileSource"
+ },
+ "type": "array"
+ },
+ "baseUrl": {
+ "type": "string"
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "participantId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "publisher": {
+ "$ref": "#/$defs/ManifestProjectionPublisherSource"
+ },
+ "standards": {
+ "$ref": "#/$defs/ManifestProjectionStandardsSource",
+ "default": {}
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "title",
+ "publisher"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDataServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "conformsTo": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "endpointDescription": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpointUrl": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "servesDatasets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "endpointUrl",
+ "servesDatasets"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "applicableLegislation": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "classificationCeiling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Classification"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "owner": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "spatialCoverage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionDatasetStatus"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetStatus": {
+ "enum": [
+ "under_development",
+ "active",
+ "completed",
+ "deprecated",
+ "withdrawn"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionDistributionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessService": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "accessUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataset": {
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "downloadUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "format": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mediaType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "dataset"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionEntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "conceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "identifiers": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionIdentifierSource"
+ },
+ "type": "array"
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionFieldSource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipConceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipRole": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "unit": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionIdentifierSource": {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "kind"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublicServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublisherSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": "string"
+ },
+ "catalog": {
+ "$ref": "#/$defs/ManifestProjectionCatalogSource"
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification"
+ },
+ "dataServices": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDataServiceSource"
+ },
+ "type": "array"
+ },
+ "datasets": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDatasetSource"
+ },
+ "type": "array"
+ },
+ "distributions": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDistributionSource"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionEntitySource"
+ },
+ "type": "array"
+ },
+ "publicService": {
+ "$ref": "#/$defs/ManifestProjectionPublicServiceSource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "accessProfile",
+ "classificationCeiling",
+ "catalog",
+ "publicService",
+ "datasets",
+ "dataServices"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionStandardsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "dcat": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "jsonSchema": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shacl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ManifestProjectionTextSource": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ManifestProjectionVocabularyConceptSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "label": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "code"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionVocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularyConceptSource"
+ },
+ "type": "array"
+ },
+ "externalRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "schemeIri": {
+ "type": "string"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "schemeIri"
+ ],
+ "type": "object"
+ },
+ "MembershipBoundarySource": {
+ "additionalProperties": false,
+ "description": "A one-hop current membership requirement, combined with every other row boundary.\nThe root field and membership key must reference the same entity. The active\nfield is Boolean, and principalField matches the profile's verified principal.",
+ "properties": {
+ "activeField": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "membershipEntity": {
+ "type": "string"
+ },
+ "membershipKeyField": {
+ "type": "string"
+ },
+ "principalField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "membershipEntity",
+ "membershipKeyField",
+ "principalField",
+ "activeField"
+ ],
+ "type": "object"
+ },
+ "ModuleLockSource": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "PackageIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string"
+ },
+ "sequence": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sourceRevision": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "sequence",
+ "sourceRevision"
+ ],
+ "type": "object"
+ },
+ "ProjectAccessProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "actorKind": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActorKindSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "anonymous": {
+ "default": false,
+ "type": "boolean"
+ },
+ "default": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "permissions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/AccessPermissionSource"
+ },
+ "type": "array"
+ },
+ "principalClaim": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "requesterClients": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredPurposes": {
+ "default": [],
+ "description": "The verified token's purpose must match one listed value. Empty means no purpose restriction.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "All listed scopes must be present in the verified token.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "taskGrant": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TaskGrantSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ReadPathPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "path": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RegistryIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "canonicalBaseIri": {
+ "type": "string"
+ },
+ "defaultLanguage": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "defaultLanguage",
+ "canonicalBaseIri"
+ ],
+ "type": "object"
+ },
+ "RequestMetadataFieldSource": {
+ "description": "Fields of request decision metadata governed separately from stored record fields.",
+ "enum": [
+ "actor_reference",
+ "reason",
+ "review_state"
+ ],
+ "type": "string"
+ },
+ "RequestPresencePermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requestType": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "requestType",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "RequestVisibilitySource": {
+ "oneOf": [
+ {
+ "const": "owner",
+ "description": "Expose only requests created by the current authenticated principal.",
+ "type": "string"
+ }
+ ]
+ },
+ "ReviewStagePermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "stage": {
+ "type": "string"
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStageTargetPermissionSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "stage"
+ ],
+ "type": "object"
+ },
+ "ReviewStageTargetPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "description": "Explicit row reach; an empty array intentionally permits all rows.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity",
+ "rowBoundaries"
+ ],
+ "type": "object"
+ },
+ "RhaiScriptKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "SpatialBboxPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumLatitudeSpanDegrees": {
+ "type": "number"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ },
+ "SpatialQueryPermissionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialBboxPermissionSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TaskGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "sourceIssuer": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceIssuer"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "VocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "values"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProjectAccessProfileSource"
+ },
+ "type": "array"
+ },
+ "actions": {
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "apiVersion": {
+ "type": "string"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "evidenceProviders": {
+ "items": {
+ "$ref": "#/$defs/EvidenceProviderSource"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "manifestProjection": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "modules": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ModuleLockSource"
+ },
+ "type": "array"
+ },
+ "package": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PackageIdentitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryIdentitySource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/VocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "registry"
+ ],
+ "title": "Base Registry Engine authored project",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json b/src/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json
new file mode 100644
index 00000000..71ff675d
--- /dev/null
+++ b/src/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json
@@ -0,0 +1,3133 @@
+{
+ "$defs": {
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "outputs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "outputs",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi",
+ "writes"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "id",
+ "target",
+ "operation",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "equals": true,
+ "equalsInput": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ },
+ "input": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "input",
+ "field"
+ ],
+ "type": "object"
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "evidence": {
+ "items": {
+ "$ref": "#/$defs/ActionEvidenceSource"
+ },
+ "type": "array"
+ },
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActionHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ },
+ "requires": {
+ "description": "Acceptance-time checks over exact existing reference inputs, combined with AND.",
+ "items": {
+ "$ref": "#/$defs/ActionRequirementSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "AttachmentSlotSource": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "contentTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "required",
+ "maximumBytes",
+ "contentTypes",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "output": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "output"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "maximumObservationAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "requirement": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceRequirementSource"
+ },
+ "type": "array"
+ },
+ "subjects": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSubjectSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "provider",
+ "requirement",
+ "subjects",
+ "maximumObservationAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestEvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestSelectorSource"
+ },
+ "description": "Exact governed selector-profile field map. Every profile field must be\npresent exactly once and no undeclared field is admitted.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "profile",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestGuardTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "fromField": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requires": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "entity",
+ "fromField"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/RhaiScriptKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPreconditionsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Governed Evidence acquisitions required immediately before application.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEvidenceSource"
+ },
+ "type": "array"
+ },
+ "request": {
+ "description": "Predicates over the frozen request intake itself.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPredicateSource"
+ },
+ "type": "array"
+ },
+ "targets": {
+ "description": "Existing records read and revision-bound at proposal preparation.",
+ "items": {
+ "$ref": "#/$defs/ChangeRequestGuardTargetSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPredicateSource": {
+ "additionalProperties": false,
+ "properties": {
+ "atLeast": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "atMost": {
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "currentDate": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestCurrentDatePredicateSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "equals": true,
+ "equalsFromRequestField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludePreviousReviewers": {
+ "default": false,
+ "description": "Refuse an actor who already decided another stage of this proposal version.",
+ "type": "boolean"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSelectorSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "request_field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "source": {
+ "const": "target_field",
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "target",
+ "field"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityExtensionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Add mandatory requirements only when the entity has none; replacing them is refused."
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "attachments": {
+ "description": "Governed binary slots on change-request entities, projected under their exact IDs.",
+ "items": {
+ "$ref": "#/$defs/AttachmentSlotSource"
+ },
+ "type": "array"
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "EvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile"
+ ],
+ "type": "object"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RhaiScriptKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "pattern": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "actions": {
+ "description": "Named immediate actions introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "dependencies": {
+ "default": [],
+ "description": "Identifiers of modules that must be applied before this module.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "description": "Entities introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "extendEntities": {
+ "default": [],
+ "description": "Additive contributions to entities already declared by the project or another module.",
+ "items": {
+ "$ref": "#/$defs/EntityExtensionSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "Stable module identifier, referenced by the project's module lock.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Module version recorded alongside its content digest in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "title": "Base Registry Engine authored module",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json b/src/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json
new file mode 100644
index 00000000..6ce86555
--- /dev/null
+++ b/src/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json
@@ -0,0 +1,39 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/registry-relay/entity-record/v1.json",
+ "title": "EntityRecord v1",
+ "description": "Structural schema for the `credentialSubject` of an EntityRecord VC. The schema validates the envelope shape; the per-dataset field set is not statically known.",
+ "type": "object",
+ "required": ["dataset", "entity", "subjectId", "fields", "asOf"],
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Canonical entity URL. Optional duplicate of the JWT `sub`."
+ },
+ "dataset": {
+ "type": "string",
+ "minLength": 1
+ },
+ "entity": {
+ "type": "string",
+ "minLength": 1
+ },
+ "subjectId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "fields": {
+ "type": "object",
+ "description": "Projection of the entity record. Field names follow the per-dataset projection config."
+ },
+ "expanded": {
+ "type": "object",
+ "description": "Relationship expansions; present only when ?expand= was requested. Keyed by relationship name."
+ },
+ "asOf": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+}
diff --git a/src/artifacts/sha256/581cd380fa3c33ed81d56ef4d88a514a34ee1e7665128f3b657a7f1124e182fc.json b/src/artifacts/sha256/581cd380fa3c33ed81d56ef4d88a514a34ee1e7665128f3b657a7f1124e182fc.json
new file mode 100644
index 00000000..31425e4b
--- /dev/null
+++ b/src/artifacts/sha256/581cd380fa3c33ed81d56ef4d88a514a34ee1e7665128f3b657a7f1124e182fc.json
@@ -0,0 +1,2653 @@
+{
+ "$defs": {
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ChangeRequestPlannerKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityExtensionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Add mandatory requirements only when the entity has none; replacing them is refused."
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "actions": {
+ "description": "Named immediate actions introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "dependencies": {
+ "default": [],
+ "description": "Identifiers of modules that must be applied before this module.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "description": "Entities introduced by this module.",
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "extendEntities": {
+ "default": [],
+ "description": "Additive contributions to entities already declared by the project or another module.",
+ "items": {
+ "$ref": "#/$defs/EntityExtensionSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "Stable module identifier, referenced by the project's module lock.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Module version recorded alongside its content digest in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "title": "Base Registry Engine authored module",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json b/src/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json
new file mode 100644
index 00000000..dbc31cf8
--- /dev/null
+++ b/src/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json
@@ -0,0 +1,85 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://id.registrystack.org/schemas/registry-relay/aggregate-result/v1.json",
+ "title": "AggregateResult v1",
+ "description": "Structural schema for the `credentialSubject` of an AggregateResult VC.",
+ "type": "object",
+ "required": [
+ "dataset",
+ "aggregateId",
+ "aggregateUrl",
+ "groupBy",
+ "indicators",
+ "rows",
+ "suppressedRows",
+ "minCellSize",
+ "computedAt"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Canonical aggregate URL. Optional duplicate of `aggregateUrl` carried as the JWT `sub`."
+ },
+ "dataset": {
+ "type": "string",
+ "minLength": 1
+ },
+ "aggregateId": {
+ "type": "string",
+ "minLength": 1
+ },
+ "aggregateUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "groupBy": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "indicators": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "rows": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["group", "values"],
+ "additionalProperties": false,
+ "properties": {
+ "group": {
+ "type": "object",
+ "description": "Map of declared group-by field to scalar value; empty for a global aggregate."
+ },
+ "values": {
+ "type": "object",
+ "description": "Map of indicator id to scalar value; `null` indicates disclosure-control suppression of that indicator."
+ }
+ }
+ }
+ },
+ "suppressedRows": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "minCellSize": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "computedAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "asOf": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+}
diff --git a/src/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json b/src/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json
new file mode 100644
index 00000000..05a02a0e
--- /dev/null
+++ b/src/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json
@@ -0,0 +1,569 @@
+{
+ "$defs": {
+ "AuditConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "hashKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "path": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path",
+ "hashKeyRef"
+ ],
+ "type": "object"
+ },
+ "AuthenticationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "oidc": {
+ "$ref": "#/$defs/OidcConfig"
+ }
+ },
+ "required": [
+ "oidc"
+ ],
+ "type": "object"
+ },
+ "BregBinding": {
+ "additionalProperties": false,
+ "description": "Launcher-owned BReg connection material for one authored Casework source.",
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "clientAssertionAudience": {
+ "description": "Explicit OAuth client assertion audience; omission preserves endpoint audience.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientAssertionKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "clientIdRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "connectTimeoutMilliseconds": {
+ "default": 10000,
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "eventSource": {
+ "type": "string"
+ },
+ "eventType": {
+ "default": "casework-lifecycle-v1",
+ "type": "string"
+ },
+ "readerProfile": {
+ "type": "string"
+ },
+ "reconciliationIntervalMilliseconds": {
+ "default": 60000,
+ "format": "uint64",
+ "maximum": 3600000,
+ "minimum": 1000,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "default": 30000,
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "resource": {
+ "description": "Exact resource indicator required by the configured authorization server.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopes": {
+ "description": "Explicit scopes for this source reader's service credential.",
+ "items": {
+ "type": "string"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ },
+ "trustedRootCertificatesRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "webhookSecretRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "readerProfile",
+ "tokenEndpoint",
+ "clientIdRef",
+ "clientAssertionKeyRef",
+ "webhookSecretRef",
+ "eventSource"
+ ],
+ "type": "object"
+ },
+ "DatabaseConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "migrationUrlRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "runtimeUrlRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "testOnlyPlaintext": {
+ "default": false,
+ "type": "boolean"
+ },
+ "trustedRootCertificateRef": {
+ "default": null,
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "runtimeUrlRef",
+ "migrationUrlRef"
+ ],
+ "type": "object"
+ },
+ "EnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "FileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "HumanIdentityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "default": "registry_actor_kind",
+ "type": "string"
+ },
+ "value": {
+ "default": "human",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "default": "127.0.0.1:8100",
+ "type": "string"
+ },
+ "networkExposure": {
+ "$ref": "#/$defs/ListenerNetworkExposure"
+ },
+ "tlsTermination": {
+ "$ref": "#/$defs/TlsTermination"
+ }
+ },
+ "required": [
+ "tlsTermination"
+ ],
+ "type": "object"
+ },
+ "ListenerNetworkExposure": {
+ "description": "The operator-declared private network placement of the HTTP listener.",
+ "enum": [
+ "private-address",
+ "container-private"
+ ],
+ "type": "string"
+ },
+ "OidcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedClients": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "assertionIssuers": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "default": {},
+ "description": "Assertion authorities each client may exchange a subject token from,\nkeyed by client identifier. An empty map applies no rule; see\n[`registry_platform_oidc::TokenVerifierConfig::assertion_issuers`].",
+ "maxProperties": 64,
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "humanIdentity": {
+ "$ref": "#/$defs/HumanIdentityConfig"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "jwksSource": {
+ "$ref": "#/$defs/OidcJwksSource"
+ },
+ "jwksUri": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopeClaim": {
+ "default": "registry_scopes",
+ "type": "string"
+ }
+ },
+ "required": [
+ "issuer",
+ "audience"
+ ],
+ "type": "object"
+ },
+ "OidcJwksSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "discovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "documentRef": {
+ "pattern": "^(?:secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "documentRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RuntimePackageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "SecretProvidersConfig": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "properties": {
+ "file": {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ },
+ {
+ "properties": {
+ "environment": {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ }
+ },
+ "required": [
+ "environment"
+ ]
+ }
+ ],
+ "properties": {
+ "environment": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TaskAuthorityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "exchangeAudience": {
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "signingKeyRef": {
+ "pattern": "^secret:(?:env|file)/",
+ "type": "string"
+ },
+ "statusClients": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Service client IDs mapped to their one protected resource audience.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "issuer",
+ "exchangeAudience",
+ "signingKeyRef",
+ "statusClients"
+ ],
+ "type": "object"
+ },
+ "TlsTermination": {
+ "description": "Declares the trusted transport boundary for the runtime's plaintext HTTP listener.\n\nProduction listeners require operator-controlled upstream TLS termination.\nDirect plaintext is limited to the explicit loopback-only development mode.",
+ "enum": [
+ "operator-controlled-upstream",
+ "development-loopback"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "authentication": {
+ "properties": {
+ "oidc": {
+ "properties": {
+ "jwksSource": {
+ "properties": {
+ "documentRef": {
+ "pattern": "^secret:env/"
+ }
+ },
+ "required": [
+ "documentRef"
+ ]
+ }
+ },
+ "required": [
+ "jwksSource"
+ ]
+ }
+ },
+ "required": [
+ "oidc"
+ ]
+ }
+ },
+ "required": [
+ "authentication"
+ ]
+ },
+ "then": {
+ "properties": {
+ "secretProviders": {
+ "properties": {
+ "environment": {
+ "$ref": "#/$defs/EnvironmentSecretProviderConfig"
+ }
+ },
+ "required": [
+ "environment"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "authentication": {
+ "properties": {
+ "oidc": {
+ "properties": {
+ "jwksSource": {
+ "properties": {
+ "documentRef": {
+ "pattern": "^secret:file/"
+ }
+ },
+ "required": [
+ "documentRef"
+ ]
+ }
+ },
+ "required": [
+ "jwksSource"
+ ]
+ }
+ },
+ "required": [
+ "oidc"
+ ]
+ }
+ },
+ "required": [
+ "authentication"
+ ]
+ },
+ "then": {
+ "properties": {
+ "secretProviders": {
+ "properties": {
+ "file": {
+ "$ref": "#/$defs/FileSecretProviderConfig"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/casework-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/DatabaseConfig"
+ },
+ "kind": {
+ "const": "CaseworkRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/ListenerConfig"
+ },
+ "package": {
+ "$ref": "#/$defs/RuntimePackageConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/SecretProvidersConfig"
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/BregBinding"
+ },
+ "default": {},
+ "propertyNames": {
+ "minLength": 1
+ },
+ "type": "object"
+ },
+ "taskAuthority": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TaskAuthorityConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "package",
+ "listener",
+ "secretProviders",
+ "database",
+ "authentication",
+ "audit"
+ ],
+ "title": "Registry Casework runtime configuration",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/add5e2aeb746d5d58706180ef8d9173817dbb907de0305830ee4b3f03322120e.json b/src/artifacts/sha256/add5e2aeb746d5d58706180ef8d9173817dbb907de0305830ee4b3f03322120e.json
new file mode 100644
index 00000000..7a02dca8
--- /dev/null
+++ b/src/artifacts/sha256/add5e2aeb746d5d58706180ef8d9173817dbb907de0305830ee4b3f03322120e.json
@@ -0,0 +1,244 @@
+{
+ "$defs": {
+ "AuditRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "integrityKeyRef": {
+ "type": "string"
+ },
+ "sink": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sink",
+ "integrityKeyRef"
+ ],
+ "type": "object"
+ },
+ "AuthenticationRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "issuer": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/IssuerRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "CursorRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "integrityKeyRef": {
+ "type": "string"
+ },
+ "maximumAgeSeconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "integrityKeyRef",
+ "maximumAgeSeconds"
+ ],
+ "type": "object"
+ },
+ "IssuerRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "algorithms": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "discoveryUrl": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "tokenTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "discoveryUrl",
+ "audience",
+ "tokenTypes",
+ "algorithms"
+ ],
+ "type": "object"
+ },
+ "QuotaRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "burst": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "requestsPerMinute": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "requestsPerMinute",
+ "burst"
+ ],
+ "type": "object"
+ },
+ "RuntimeLimits": {
+ "additionalProperties": false,
+ "properties": {
+ "concurrentQueries": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "requestTimeoutMilliseconds",
+ "concurrentQueries"
+ ],
+ "type": "object"
+ },
+ "RuntimeSource": {
+ "additionalProperties": false,
+ "properties": {
+ "path": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
+ "ServerRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "ShutdownRuntime": {
+ "additionalProperties": false,
+ "properties": {
+ "gracePeriodMilliseconds": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "gracePeriodMilliseconds"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/registry-relay/authoring/runtime.v2alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "description": "Deployment-local bindings. No governed field is accepted here.",
+ "properties": {
+ "apiVersion": {
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditRuntime"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationRuntime"
+ },
+ "cursor": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/CursorRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "kind": {
+ "type": "string"
+ },
+ "limits": {
+ "$ref": "#/$defs/RuntimeLimits"
+ },
+ "packagePath": {
+ "type": "string"
+ },
+ "quotas": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/QuotaRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "server": {
+ "$ref": "#/$defs/ServerRuntime"
+ },
+ "shutdown": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ShutdownRuntime"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RuntimeSource"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "server",
+ "packagePath",
+ "sources",
+ "authentication",
+ "audit",
+ "limits"
+ ],
+ "title": "Relay V2 deployment binding",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json b/src/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json
new file mode 100644
index 00000000..609772ea
--- /dev/null
+++ b/src/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json
@@ -0,0 +1,1299 @@
+{
+ "$defs": {
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "EventDestinationDnsFamily": {
+ "enum": [
+ "dualStackStrict",
+ "ipv4Only"
+ ],
+ "type": "string"
+ },
+ "EventDestinationNetworkProfile": {
+ "enum": [
+ "productionHttps",
+ "loopbackDevelopmentHttp"
+ ],
+ "type": "string"
+ },
+ "EvidencePrivateKeyJwtConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "assertionAudience": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientId": {
+ "type": "string"
+ },
+ "privateKeyRef": {
+ "type": "string"
+ },
+ "resource": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "scopes": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenEndpoint",
+ "clientId",
+ "privateKeyRef"
+ ],
+ "type": "object"
+ },
+ "EvidenceProviderConfig": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "properties": {
+ "tokenRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenRef"
+ ]
+ },
+ {
+ "properties": {
+ "privateKeyJwt": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "privateKeyJwt"
+ ]
+ }
+ ],
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "privateKeyJwt": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EvidencePrivateKeyJwtConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "revokedKeyIds": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenRef": {
+ "description": "Compatibility path for a pre-issued token. Long-running providers\nshould configure `privateKeyJwt` so expiry triggers a fresh exchange.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "trustBindingId": {
+ "type": "string"
+ },
+ "trustedJwksRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "trustBindingId",
+ "trustedJwksRef"
+ ],
+ "type": "object"
+ },
+ "OidcAlgorithm": {
+ "enum": [
+ "EdDSA",
+ "ES256",
+ "ES384",
+ "RS256",
+ "RS384"
+ ],
+ "type": "string"
+ },
+ "RawAttachmentStorageConfig": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "database",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "accessKeyIdRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "bucket": {
+ "maxLength": 63,
+ "minLength": 3,
+ "type": "string"
+ },
+ "caBundleRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpoint": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "s3",
+ "type": "string"
+ },
+ "pathStyle": {
+ "default": true,
+ "type": "boolean"
+ },
+ "region": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "secretAccessKeyRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "sessionTokenRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "timeoutMilliseconds": {
+ "default": 10000,
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 100,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "endpoint",
+ "bucket",
+ "region",
+ "accessKeyIdRef",
+ "secretAccessKeyRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawAttachmentVerificationConfig": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "disabled",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "authorizationRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "endpoint": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "http",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "Non-secret identity of the external scanner and rules generation.",
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "timeoutMilliseconds": {
+ "default": 10000,
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 100,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "endpoint",
+ "authorizationRef",
+ "policyId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawAuditConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "hashKeyRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hashKeyRef"
+ ],
+ "type": "object"
+ },
+ "RawAuthenticationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityClaims": {
+ "$ref": "#/$defs/RawAuthorityClaimsConfig"
+ },
+ "oidc": {
+ "$ref": "#/$defs/RawOidcVerifierConfig"
+ }
+ },
+ "required": [
+ "oidc",
+ "authorityClaims"
+ ],
+ "type": "object"
+ },
+ "RawAuthorityClaimsConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "contextual": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawContextualClaimNames"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "principal": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "purpose": {
+ "maxLength": 128,
+ "minLength": 1,
+ "not": {
+ "enum": [
+ "iss",
+ "aud",
+ "exp",
+ "iat",
+ "nbf",
+ "sub",
+ "client_id",
+ "azp",
+ "jti",
+ "cnf"
+ ]
+ },
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "trustedActors": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {},
+ "type": "object"
+ }
+ },
+ "required": [
+ "principal"
+ ],
+ "type": "object"
+ },
+ "RawContextualClaimNames": {
+ "additionalProperties": false,
+ "properties": {
+ "actorKind": {
+ "type": "string"
+ },
+ "approver": {
+ "type": "string"
+ },
+ "grantBounds": {
+ "type": "string"
+ },
+ "grantClient": {
+ "type": "string"
+ },
+ "grantExp": {
+ "type": "string"
+ },
+ "grantId": {
+ "type": "string"
+ },
+ "grantResource": {
+ "type": "string"
+ },
+ "grantSourceIssuer": {
+ "type": "string"
+ },
+ "purpose": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "actorKind",
+ "purpose",
+ "grantId",
+ "grantSourceIssuer",
+ "grantClient",
+ "grantResource",
+ "grantExp",
+ "grantBounds",
+ "approver"
+ ],
+ "type": "object"
+ },
+ "RawCursorConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "maxAgeSeconds": {
+ "default": 300,
+ "description": "Defaults to the bounded cursor validity lifetime.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "secretRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "secretRef"
+ ],
+ "type": "object"
+ },
+ "RawDatabaseConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "migrationUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "pool": {
+ "$ref": "#/$defs/RawPoolBounds"
+ },
+ "roles": {
+ "$ref": "#/$defs/RawSqlRoles"
+ },
+ "runtimeUrlRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "runtimeUrlRef",
+ "migrationUrlRef",
+ "pool",
+ "roles"
+ ],
+ "type": "object"
+ },
+ "RawDeploymentIdentity": {
+ "additionalProperties": false,
+ "properties": {
+ "databaseId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "databaseInitializationEnvironment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "environment": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "instanceId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "databaseId",
+ "databaseInitializationEnvironment"
+ ],
+ "type": "object"
+ },
+ "RawEnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "RawEventDeliveryConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "payloadRetentionDays": {
+ "default": 7,
+ "description": "Defaults to the bounded retained payload lifetime for pending or dead-letter webhook work.",
+ "format": "uint8",
+ "maximum": 30,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawEventDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedPrivateCidrs": {
+ "description": "Explicitly allowed private network ranges in canonical CIDR notation.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 16,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification",
+ "description": "Highest permitted classification, including fields used only in event conditions."
+ },
+ "deliveryCeilings": {
+ "$ref": "#/$defs/RawEventDestinationDeliveryCeilings",
+ "description": "Per-destination limits that may tighten, but never increase, the compiled delivery limits."
+ },
+ "dnsFamily": {
+ "$ref": "#/$defs/EventDestinationDnsFamily",
+ "description": "Address families to validate when resolving the destination."
+ },
+ "hmacSha256KeyRef": {
+ "description": "Runtime secret reference for the receiver's shared HMAC-SHA-256 key.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "networkProfile": {
+ "$ref": "#/$defs/EventDestinationNetworkProfile",
+ "description": "HTTPS for production, or explicit loopback-only HTTP for local development."
+ },
+ "origin": {
+ "description": "Receiver origin without a path or query, such as `https://receiver.example.com`.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "path": {
+ "description": "Absolute request path on the configured origin, such as `/events`.",
+ "maxLength": 4096,
+ "minLength": 1,
+ "pattern": "^/[\\x20-\\x22\\x24\\x26-\\x3E\\x40-\\x5B\\x5D-\\x7E]*$",
+ "type": "string"
+ },
+ "tls": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEventDestinationTlsConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional private CA and client identity secret references for HTTPS."
+ }
+ },
+ "required": [
+ "origin",
+ "path",
+ "networkProfile",
+ "dnsFamily",
+ "allowedPrivateCidrs",
+ "hmacSha256KeyRef",
+ "classificationCeiling",
+ "deliveryCeilings"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationDeliveryCeilings": {
+ "additionalProperties": false,
+ "properties": {
+ "attemptTimeoutMilliseconds": {
+ "description": "Maximum time allowed for one attempt, in milliseconds.",
+ "format": "uint32",
+ "maximum": 5000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "maximumAttempts": {
+ "description": "Maximum total attempts in one delivery generation, including the first attempt.",
+ "format": "uint8",
+ "maximum": 5,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "attemptTimeoutMilliseconds",
+ "maximumAttempts"
+ ],
+ "type": "object"
+ },
+ "RawEventDestinationTlsConfig": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "properties": {
+ "caBundleRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "caBundleRef"
+ ]
+ },
+ {
+ "properties": {
+ "clientIdentityRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "clientIdentityRef"
+ ]
+ }
+ ],
+ "properties": {
+ "caBundleRef": {
+ "description": "PEM CA bundle secret reference, when the receiver uses a private certificate authority.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientIdentityRef": {
+ "description": "PEM client identity secret reference for mutual TLS.",
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawFileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "RawJwksCacheConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "cacheTtlSeconds": {
+ "default": 600,
+ "description": "Defaults to the bounded JWKS cache time-to-live.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxDocumentBytes": {
+ "default": 65536,
+ "description": "Defaults to the bounded maximum JWKS document size.",
+ "format": "uint64",
+ "maximum": 1048576,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "negativeCacheTtlSeconds": {
+ "default": 60,
+ "description": "Defaults to the bounded JWKS negative-cache time-to-live.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "outageToleranceSeconds": {
+ "default": 900,
+ "description": "Defaults to the bounded cached-key outage tolerance.",
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "refreshCooldownSeconds": {
+ "default": 30,
+ "description": "Defaults to the bounded JWKS refresh cooldown.",
+ "format": "uint64",
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "requestTimeoutMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded JWKS fetch timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "type": "string"
+ },
+ "publicOrigin": {
+ "description": "Canonical HTTPS origin (loopback HTTP for local development) for QGIS\ndiscovery and pagination. Required when the registry exposes GIS collections.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^https?://[^/@?#\\s]+/?$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawMetricsListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "description": "Operator-private loopback or private numeric address and named port,\nfor example `127.0.0.1:9100`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "bind"
+ ],
+ "type": "object"
+ },
+ "RawOidcJwksSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "discovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "documentRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "^(secret:env/[A-Z][A-Z0-9_]{0,127}|secret:file/[a-z][a-z0-9._-]{0,127})$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "documentRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "RawOidcVerifierConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "accessTokenType": {
+ "description": "The one admitted access-token `typ` semantics. Configuring the\nRFC 9068 access-token media type as `at+jwt` or\n`application/at+jwt` admits both spellings of that one type; any\nother value (for example `JWT`) admits only that token type, matched\ncase-insensitively.",
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "allowedAlgorithm": {
+ "$ref": "#/$defs/OidcAlgorithm"
+ },
+ "allowedClients": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "assertionIssuers": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "maxProperties": 128,
+ "propertyNames": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "audience": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "deniedKids": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^\\x00-\\x20\\x7F]+$",
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "issuer": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "jwksCache": {
+ "$ref": "#/$defs/RawJwksCacheConfig",
+ "default": {
+ "cacheTtlSeconds": 600,
+ "maxDocumentBytes": 65536,
+ "negativeCacheTtlSeconds": 60,
+ "outageToleranceSeconds": 900,
+ "refreshCooldownSeconds": 30,
+ "requestTimeoutMilliseconds": 5000
+ },
+ "description": "Optional JWKS fetch and cache tuning. Defaults to bounded cache behavior."
+ },
+ "jwksSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawOidcJwksSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "leewayMilliseconds": {
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maxTokenLifetimeSeconds": {
+ "format": "uint64",
+ "maximum": 7200,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "scopeClaim": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\x21-\\x7E]+$",
+ "type": "string"
+ },
+ "scopeSeparator": {
+ "maxLength": 1,
+ "minLength": 1,
+ "pattern": "^[^A-Za-z0-9\\x00-\\x1F\\x7F]$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "issuer",
+ "audience",
+ "allowedAlgorithm",
+ "accessTokenType",
+ "scopeClaim",
+ "scopeSeparator",
+ "maxTokenLifetimeSeconds",
+ "leewayMilliseconds"
+ ],
+ "type": "object"
+ },
+ "RawOperationalTimeouts": {
+ "additionalProperties": false,
+ "properties": {
+ "httpRequestMilliseconds": {
+ "default": 10000,
+ "description": "Defaults to the bounded per-request HTTP timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationLockMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded migration lock timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "migrationStatementMilliseconds": {
+ "default": 60000,
+ "description": "Defaults to the bounded migration statement timeout.",
+ "format": "uint64",
+ "maximum": 3600000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recordLockMilliseconds": {
+ "default": 5000,
+ "description": "Defaults to the bounded record lock timeout.",
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "shutdownGraceMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded graceful-shutdown timeout.",
+ "format": "uint64",
+ "maximum": 300000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RawPackageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "activeRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "activeSequence": {
+ "format": "uint64",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "compilerSourceRevision": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[^\\s\\x00-\\x1F\\x7F](?:[^\\x00-\\x1F\\x7F]*[^\\s\\x00-\\x1F\\x7F])?$",
+ "type": "string"
+ },
+ "root": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "trustAnchorPath": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "root",
+ "trustAnchorPath",
+ "compilerSourceRevision",
+ "activeRevision",
+ "activeSequence"
+ ],
+ "type": "object"
+ },
+ "RawPoolBounds": {
+ "additionalProperties": false,
+ "properties": {
+ "createTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-creation timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxSize": {
+ "format": "uint",
+ "maximum": 128,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recycleTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool connection-recycle timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "waitTimeoutMilliseconds": {
+ "default": 30000,
+ "description": "Defaults to the bounded PostgreSQL pool wait timeout.",
+ "format": "uint64",
+ "maximum": 60000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maxSize"
+ ],
+ "type": "object"
+ },
+ "RawSecretProvidersConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawEnvironmentSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawFileSecretProviderConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawSqlRoles": {
+ "additionalProperties": false,
+ "properties": {
+ "migration": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ },
+ "runtime": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[_a-z][_a-z0-9]{0,62}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "migration",
+ "runtime"
+ ],
+ "type": "object"
+ },
+ "TaskGrantStatusConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "baseUrl": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "caseworkResource": {
+ "type": "string"
+ },
+ "clientAssertionAudience": {
+ "type": "string"
+ },
+ "clientId": {
+ "type": "string"
+ },
+ "privateKeyRef": {
+ "type": "string"
+ },
+ "sourceIssuer": {
+ "type": "string"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceIssuer",
+ "baseUrl",
+ "tokenEndpoint",
+ "clientAssertionAudience",
+ "clientId",
+ "privateKeyRef",
+ "caseworkResource"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/breg-runtime/v1alpha1",
+ "type": "string"
+ },
+ "attachmentStorage": {
+ "$ref": "#/$defs/RawAttachmentStorageConfig",
+ "default": {
+ "kind": "database"
+ },
+ "description": "Defaults to PostgreSQL; S3 requires a bucket with versioning never enabled."
+ },
+ "attachmentVerification": {
+ "$ref": "#/$defs/RawAttachmentVerificationConfig",
+ "default": {
+ "kind": "disabled"
+ },
+ "description": "Optional external verdict hook. Disabled by default."
+ },
+ "audit": {
+ "$ref": "#/$defs/RawAuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/RawAuthenticationConfig"
+ },
+ "cursor": {
+ "$ref": "#/$defs/RawCursorConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/RawDatabaseConfig"
+ },
+ "eventDelivery": {
+ "$ref": "#/$defs/RawEventDeliveryConfig",
+ "default": {
+ "payloadRetentionDays": 7
+ },
+ "description": "Optional event-delivery tuning. Defaults to the server's bounded retention policy."
+ },
+ "eventDestinations": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawEventDestinationConfig"
+ },
+ "maxProperties": 128,
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "evidenceProviders": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EvidenceProviderConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "identity": {
+ "$ref": "#/$defs/RawDeploymentIdentity"
+ },
+ "kind": {
+ "const": "BRegRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/RawListenerConfig"
+ },
+ "metricsListener": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawMetricsListenerConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Optional operator-private metrics listener. Absent by default, which\nserves no metrics surface at all."
+ },
+ "operationalTimeouts": {
+ "$ref": "#/$defs/RawOperationalTimeouts",
+ "default": {
+ "httpRequestMilliseconds": 10000,
+ "migrationLockMilliseconds": 30000,
+ "migrationStatementMilliseconds": 60000,
+ "recordLockMilliseconds": 5000,
+ "shutdownGraceMilliseconds": 30000
+ },
+ "description": "Optional operational request, shutdown, locking, and migration timeout tuning."
+ },
+ "package": {
+ "$ref": "#/$defs/RawPackageConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/RawSecretProvidersConfig"
+ },
+ "taskGrantStatus": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/TaskGrantStatusConfig"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "listener",
+ "identity",
+ "secretProviders",
+ "database",
+ "package",
+ "authentication",
+ "audit",
+ "cursor"
+ ],
+ "title": "Base Registry Engine runtime configuration",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld b/src/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld
new file mode 100644
index 00000000..7fef87ab
--- /dev/null
+++ b/src/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld
@@ -0,0 +1,87 @@
+{
+ "@context": {
+ "@version": 1.1,
+ "@protected": true,
+ "dg": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+
+ "VerifyResult": {
+ "@id": "dg:VerifyResult"
+ },
+ "AggregateResult": {
+ "@id": "dg:AggregateResult"
+ },
+ "EntityRecord": {
+ "@id": "dg:EntityRecord"
+ },
+
+ "dataset": {
+ "@id": "dg:dataset",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "entity": {
+ "@id": "dg:entity",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "subjectId": {
+ "@id": "dg:subjectId",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "predicate": {
+ "@id": "dg:predicate",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "value": {
+ "@id": "dg:value"
+ },
+ "asOf": {
+ "@id": "dg:asOf",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ },
+
+ "aggregateId": {
+ "@id": "dg:aggregateId",
+ "@type": "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "aggregateUrl": {
+ "@id": "dg:aggregateUrl",
+ "@type": "@id"
+ },
+ "groupBy": {
+ "@id": "dg:groupBy",
+ "@container": "@list"
+ },
+ "indicators": {
+ "@id": "dg:indicators",
+ "@container": "@list"
+ },
+ "rows": {
+ "@id": "dg:rows",
+ "@container": "@list"
+ },
+ "group": {
+ "@id": "dg:group"
+ },
+ "values": {
+ "@id": "dg:values"
+ },
+ "suppressedRows": {
+ "@id": "dg:suppressedRows",
+ "@type": "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "minCellSize": {
+ "@id": "dg:minCellSize",
+ "@type": "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "computedAt": {
+ "@id": "dg:computedAt",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ },
+
+ "fields": {
+ "@id": "dg:fields"
+ },
+ "expanded": {
+ "@id": "dg:expanded"
+ }
+ }
+}
diff --git a/src/artifacts/sha256/caed080f4eef3c39d8728cb56722d8d7f5cad6342d46750a0046eb2c5defc186.json b/src/artifacts/sha256/caed080f4eef3c39d8728cb56722d8d7f5cad6342d46750a0046eb2c5defc186.json
new file mode 100644
index 00000000..13260776
--- /dev/null
+++ b/src/artifacts/sha256/caed080f4eef3c39d8728cb56722d8d7f5cad6342d46750a0046eb2c5defc186.json
@@ -0,0 +1,1608 @@
+{
+ "$defs": {
+ "AccessProfileDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "disclosureProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "access",
+ "disclosureProfile"
+ ],
+ "type": "object"
+ },
+ "AccessRule": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "$ref": "#/$defs/ProtectedAccess"
+ }
+ ]
+ },
+ "AlignmentTarget": {
+ "additionalProperties": false,
+ "properties": {
+ "cfrTarget": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "version",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AuthorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ClaimRowBinding"
+ },
+ {
+ "$ref": "#/$defs/PrincipalRowBinding"
+ }
+ ]
+ },
+ "ClaimRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ClassificationCatalog": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "institutional": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "privacy": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "provenanceRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "privacy",
+ "institutional",
+ "handling",
+ "provenanceRef"
+ ],
+ "type": "object"
+ },
+ "ClassificationPartial": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Handling"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "institutional": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "privacy": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ReviewStatus"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "type": "object"
+ },
+ "CodelistColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "codelist"
+ ],
+ "type": "object"
+ },
+ "ColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ContractMetadata": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "title"
+ ],
+ "type": "object"
+ },
+ "DataType": {
+ "enum": [
+ "string",
+ "boolean",
+ "integer",
+ "date",
+ "date-time",
+ "year",
+ "year-month",
+ "controlled-code"
+ ],
+ "type": "string"
+ },
+ "DateInputType": {
+ "enum": [
+ "date",
+ "date-time"
+ ],
+ "type": "string"
+ },
+ "DatePrecision": {
+ "enum": [
+ "year",
+ "year-month"
+ ],
+ "type": "string"
+ },
+ "DisclosureProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "properties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "type": "object"
+ },
+ "FilterDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "property": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "name",
+ "property",
+ "type"
+ ],
+ "type": "object"
+ },
+ "Governance": {
+ "additionalProperties": false,
+ "properties": {
+ "auditOwner": {
+ "type": "string"
+ },
+ "controller": {
+ "type": "string"
+ },
+ "publisher": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "controller",
+ "publisher",
+ "auditOwner"
+ ],
+ "type": "object"
+ },
+ "Handling": {
+ "enum": [
+ "public",
+ "internal",
+ "confidential",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "Institution": {
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "identifier",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ListOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "filters": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FilterDefinition"
+ },
+ "type": "array"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles",
+ "allowUnfiltered",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "LookupOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requestBody": {
+ "$ref": "#/$defs/LookupRequestBody"
+ }
+ },
+ "required": [
+ "id",
+ "requestBody",
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "LookupRequestBody": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SelectorDefinition"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "maximumBytes",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "MetadataVisibility": {
+ "additionalProperties": false,
+ "properties": {
+ "classifications": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "processing": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "resources": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "service": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "statisticalDatasets": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Visibility"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "service",
+ "resources",
+ "semantics",
+ "classifications",
+ "processing"
+ ],
+ "type": "object"
+ },
+ "Operations": {
+ "additionalProperties": false,
+ "properties": {
+ "list": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ListOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupOperation"
+ },
+ "type": "array"
+ },
+ "read": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RecordOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "searches": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SearchOperation"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "Pagination": {
+ "additionalProperties": false,
+ "properties": {
+ "defaultPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultPageSize",
+ "maximumPageSize"
+ ],
+ "type": "object"
+ },
+ "PartialStringReveal": {
+ "enum": [
+ "prefix",
+ "suffix"
+ ],
+ "type": "string"
+ },
+ "PointPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "crs": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/PointSourceDefinition"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/PointPropertyType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "type",
+ "crs",
+ "source",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "PointPropertyType": {
+ "enum": [
+ "point"
+ ],
+ "type": "string"
+ },
+ "PointSourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "latitudeColumn": {
+ "type": "string"
+ },
+ "longitudeColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "longitudeColumn",
+ "latitudeColumn"
+ ],
+ "type": "object"
+ },
+ "PrincipalRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "principal": {
+ "type": "boolean"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "principal",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ProcessingDescription": {
+ "additionalProperties": false,
+ "properties": {
+ "dpvProfileRef": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "legalBasisRef": {
+ "type": "string"
+ },
+ "operationRefs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "purpose": {
+ "type": "string"
+ },
+ "recipientClass": {
+ "type": "string"
+ },
+ "safeguards": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "operationRefs",
+ "purpose",
+ "recipientClass",
+ "legalBasisRef",
+ "dpvProfileRef",
+ "safeguards"
+ ],
+ "type": "object"
+ },
+ "PropertyDefinition": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ScalarPropertyDefinitionSchema"
+ },
+ {
+ "$ref": "#/$defs/PointPropertyDefinitionSchema"
+ }
+ ]
+ },
+ "ProtectedAccess": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AuthorityRowBinding"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "purpose": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PurposeConstraint"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "scope": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scope"
+ ],
+ "type": "object"
+ },
+ "PurposeConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "allowed": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "claim": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "allowed"
+ ],
+ "type": "object"
+ },
+ "RecordContext": {
+ "additionalProperties": false,
+ "properties": {
+ "lifecycleState": {
+ "$ref": "#/$defs/CodelistColumnBinding"
+ },
+ "recordIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "recordedAt": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "revisionIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ }
+ },
+ "required": [
+ "recordIdentifier",
+ "revisionIdentifier",
+ "lifecycleState",
+ "recordedAt"
+ ],
+ "type": "object"
+ },
+ "RecordOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "RegistryDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "alignmentTargets": {
+ "items": {
+ "$ref": "#/$defs/AlignmentTarget"
+ },
+ "type": "array"
+ },
+ "authoritativeScope": {
+ "type": "string"
+ },
+ "authority": {
+ "$ref": "#/$defs/Institution"
+ },
+ "baseUri": {
+ "type": "string"
+ },
+ "identifierLifecyclePolicyRef": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "operator": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Institution"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registryIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "registryIdentifier",
+ "name",
+ "authority",
+ "authoritativeScope",
+ "baseUri",
+ "identifierLifecyclePolicyRef",
+ "alignmentTargets"
+ ],
+ "type": "object"
+ },
+ "ResourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "disclosureProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/DisclosureProfile"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operations": {
+ "$ref": "#/$defs/Operations"
+ },
+ "primaryGeometry": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "properties": {
+ "additionalProperties": {
+ "$ref": "#/$defs/PropertyDefinition"
+ },
+ "type": "object"
+ },
+ "recordContext": {
+ "$ref": "#/$defs/RecordContext"
+ },
+ "semanticClass": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "semanticClass",
+ "source",
+ "classificationDefaults",
+ "recordContext",
+ "properties",
+ "disclosureProfiles",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ResourceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "source": {
+ "type": "string"
+ },
+ "view": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "view"
+ ],
+ "type": "object"
+ },
+ "ReviewStatus": {
+ "enum": [
+ "reviewed",
+ "suggested",
+ "uncertain"
+ ],
+ "type": "string"
+ },
+ "ScalarPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "transform": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TransformDefinition"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "sourceColumn",
+ "type",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "SchemeVersion": {
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme",
+ "version"
+ ],
+ "type": "object"
+ },
+ "SdmxBindingDefinition": {
+ "additionalProperties": false,
+ "description": "Optional identity overrides for the fixed compiler-owned SDMX profile.",
+ "properties": {
+ "agencyId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "conceptSchemeId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataStructureId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataflowId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "SearchOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ },
+ "query": {
+ "$ref": "#/$defs/SearchQueryDefinition"
+ }
+ },
+ "required": [
+ "id",
+ "query",
+ "defaultAccessProfile",
+ "accessProfiles",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "SearchQueryDefinition": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "point-bbox",
+ "type": "string"
+ },
+ "maximumLatitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "SelectorDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "maximumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "type"
+ ],
+ "type": "object"
+ },
+ "SemanticAlignment": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "profileRef": {
+ "type": "string"
+ },
+ "relationRequired": {
+ "type": "boolean"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "profileRef",
+ "digest",
+ "relationRequired"
+ ],
+ "type": "object"
+ },
+ "Semantics": {
+ "additionalProperties": false,
+ "properties": {
+ "alignments": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SemanticAlignment"
+ },
+ "type": "array"
+ },
+ "localVocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "localVocabulary"
+ ],
+ "type": "object"
+ },
+ "SourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "expectedSchemaFingerprint": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "profile": {
+ "$ref": "#/$defs/SourceProfile"
+ }
+ },
+ "required": [
+ "kind",
+ "profile",
+ "expectedSchemaFingerprint"
+ ],
+ "type": "object"
+ },
+ "SourceProfile": {
+ "enum": [
+ "snapshot",
+ "live-read-only"
+ ],
+ "type": "string"
+ },
+ "StatisticalAttributeDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "required",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalBindings": {
+ "additionalProperties": false,
+ "properties": {
+ "sdmx": {
+ "$ref": "#/$defs/SdmxBindingDefinition"
+ }
+ },
+ "required": [
+ "sdmx"
+ ],
+ "type": "object"
+ },
+ "StatisticalDatasetDefinition": {
+ "additionalProperties": false,
+ "description": "One governed, pre-aggregated statistical dataset. The authored shape is\nindependent of the fixed SDMX exchange binding compiled from it.",
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "attributes": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalAttributeDefinition"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "bindings": {
+ "$ref": "#/$defs/StatisticalBindings"
+ },
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "dimensions": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalDimensionDefinition"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "measure": {
+ "$ref": "#/$defs/StatisticalMeasureDefinition"
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "publication": {
+ "$ref": "#/$defs/StatisticalPublication"
+ },
+ "query": {
+ "$ref": "#/$defs/StatisticalQueryProfile"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "time": {
+ "$ref": "#/$defs/StatisticalTimeDimensionDefinition"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "publication",
+ "source",
+ "classificationDefaults",
+ "dimensions",
+ "time",
+ "measure",
+ "access",
+ "query",
+ "bindings"
+ ],
+ "type": "object"
+ },
+ "StatisticalDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalMeasureDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalPublication": {
+ "additionalProperties": false,
+ "properties": {
+ "releaseAt": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "releaseAt"
+ ],
+ "type": "object"
+ },
+ "StatisticalQueryProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "maximumObservations": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumOffset": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "allowUnfiltered",
+ "maximumObservations",
+ "maximumOffset"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "granularity": {
+ "$ref": "#/$defs/StatisticalTimeGranularity"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "granularity",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeGranularity": {
+ "enum": [
+ "annual",
+ "quarterly",
+ "monthly",
+ "daily"
+ ],
+ "type": "string"
+ },
+ "StatisticalValueType": {
+ "enum": [
+ "code",
+ "string",
+ "integer",
+ "decimal",
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "TransformDefinition": {
+ "oneOf": [
+ {
+ "properties": {
+ "characters": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "partial-string",
+ "type": "string"
+ },
+ "reveal": {
+ "$ref": "#/$defs/PartialStringReveal"
+ }
+ },
+ "required": [
+ "kind",
+ "reveal",
+ "characters"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "date-precision",
+ "type": "string"
+ },
+ "precision": {
+ "$ref": "#/$defs/DatePrecision"
+ },
+ "sourceType": {
+ "$ref": "#/$defs/DateInputType"
+ }
+ },
+ "required": [
+ "kind",
+ "sourceType",
+ "precision"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Visibility": {
+ "enum": [
+ "public",
+ "operation-bound",
+ "operator-only"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "description": "Governed Relay-owned Registry input. Unknown fields are rejected at every\nnested structure rather than silently becoming deployment behavior.",
+ "properties": {
+ "apiVersion": {
+ "type": "string"
+ },
+ "classifications": {
+ "$ref": "#/$defs/ClassificationCatalog"
+ },
+ "governance": {
+ "$ref": "#/$defs/Governance"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "metadata": {
+ "$ref": "#/$defs/ContractMetadata"
+ },
+ "metadataVisibility": {
+ "$ref": "#/$defs/MetadataVisibility"
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryDefinition"
+ },
+ "resources": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ResourceDefinition"
+ },
+ "type": "array"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Semantics"
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SourceDefinition"
+ },
+ "type": "object"
+ },
+ "statisticalDatasets": {
+ "items": {
+ "$ref": "#/$defs/StatisticalDatasetDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "metadata",
+ "registry",
+ "governance",
+ "semantics",
+ "classifications",
+ "sources",
+ "metadataVisibility"
+ ],
+ "title": "Relay V2 governed Registry contract",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/d7a3d7b6dc9c1904fc067f0779c941ff247b26feb3a62f8d391b04f463c5a2ca.json b/src/artifacts/sha256/d7a3d7b6dc9c1904fc067f0779c941ff247b26feb3a62f8d391b04f463c5a2ca.json
new file mode 100644
index 00000000..3c8955b0
--- /dev/null
+++ b/src/artifacts/sha256/d7a3d7b6dc9c1904fc067f0779c941ff247b26feb3a62f8d391b04f463c5a2ca.json
@@ -0,0 +1,1637 @@
+{
+ "$defs": {
+ "AccessProfileDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "disclosureProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "access",
+ "disclosureProfile"
+ ],
+ "type": "object"
+ },
+ "AccessRule": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "$ref": "#/$defs/ProtectedAccess"
+ }
+ ]
+ },
+ "AlignmentTarget": {
+ "additionalProperties": false,
+ "properties": {
+ "cfrTarget": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "version",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AuthorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ClaimRowBinding"
+ },
+ {
+ "$ref": "#/$defs/PrincipalRowBinding"
+ }
+ ]
+ },
+ "ClaimRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ClassificationCatalog": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "institutional": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "privacy": {
+ "$ref": "#/$defs/SchemeVersion"
+ },
+ "provenanceRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "privacy",
+ "institutional",
+ "handling",
+ "provenanceRef"
+ ],
+ "type": "object"
+ },
+ "ClassificationPartial": {
+ "additionalProperties": false,
+ "properties": {
+ "handling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Handling"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "institutional": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "privacy": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ReviewStatus"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "type": "object"
+ },
+ "CodelistColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "codelist"
+ ],
+ "type": "object"
+ },
+ "ColumnBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ContractMetadata": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "title"
+ ],
+ "type": "object"
+ },
+ "DataType": {
+ "enum": [
+ "string",
+ "boolean",
+ "integer",
+ "date",
+ "date-time",
+ "year",
+ "year-month",
+ "controlled-code"
+ ],
+ "type": "string"
+ },
+ "DateInputType": {
+ "enum": [
+ "date",
+ "date-time"
+ ],
+ "type": "string"
+ },
+ "DatePrecision": {
+ "enum": [
+ "year",
+ "year-month"
+ ],
+ "type": "string"
+ },
+ "DisclosureProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "properties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "type": "object"
+ },
+ "FilterDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "property": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "name",
+ "property",
+ "type"
+ ],
+ "type": "object"
+ },
+ "Governance": {
+ "additionalProperties": false,
+ "properties": {
+ "auditOwner": {
+ "type": "string"
+ },
+ "controller": {
+ "type": "string"
+ },
+ "publisher": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "controller",
+ "publisher",
+ "auditOwner"
+ ],
+ "type": "object"
+ },
+ "Handling": {
+ "enum": [
+ "public",
+ "internal",
+ "confidential",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "Institution": {
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "identifier",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ListOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "filters": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FilterDefinition"
+ },
+ "type": "array"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles",
+ "allowUnfiltered",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "LookupOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "requestBody": {
+ "$ref": "#/$defs/LookupRequestBody"
+ }
+ },
+ "required": [
+ "id",
+ "requestBody",
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "LookupRequestBody": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "selectors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SelectorDefinition"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "maximumBytes",
+ "selectors"
+ ],
+ "type": "object"
+ },
+ "MetadataVisibility": {
+ "additionalProperties": false,
+ "properties": {
+ "classifications": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "processing": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "resources": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "service": {
+ "$ref": "#/$defs/Visibility"
+ },
+ "statisticalDatasets": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Visibility"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "service",
+ "resources",
+ "semantics",
+ "classifications",
+ "processing"
+ ],
+ "type": "object"
+ },
+ "Operations": {
+ "additionalProperties": false,
+ "properties": {
+ "list": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ListOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupOperation"
+ },
+ "type": "array"
+ },
+ "read": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RecordOperation"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "searches": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SearchOperation"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "Pagination": {
+ "additionalProperties": false,
+ "properties": {
+ "defaultPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumPageSize": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultPageSize",
+ "maximumPageSize"
+ ],
+ "type": "object"
+ },
+ "PartialStringReveal": {
+ "enum": [
+ "prefix",
+ "suffix"
+ ],
+ "type": "string"
+ },
+ "PointPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "crs": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/PointSourceDefinition"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/PointPropertyType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "type",
+ "crs",
+ "source",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "PointPropertyType": {
+ "enum": [
+ "point"
+ ],
+ "type": "string"
+ },
+ "PointSourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "latitudeColumn": {
+ "type": "string"
+ },
+ "longitudeColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "longitudeColumn",
+ "latitudeColumn"
+ ],
+ "type": "object"
+ },
+ "PrincipalRowBinding": {
+ "additionalProperties": false,
+ "properties": {
+ "principal": {
+ "type": "boolean"
+ },
+ "sourceColumn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "principal",
+ "sourceColumn"
+ ],
+ "type": "object"
+ },
+ "ProcessingDescription": {
+ "additionalProperties": false,
+ "properties": {
+ "dpvProfileRef": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "legalBasisRef": {
+ "type": "string"
+ },
+ "operationRefs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "purpose": {
+ "type": "string"
+ },
+ "recipientClass": {
+ "type": "string"
+ },
+ "safeguards": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "operationRefs",
+ "purpose",
+ "recipientClass",
+ "legalBasisRef",
+ "dpvProfileRef",
+ "safeguards"
+ ],
+ "type": "object"
+ },
+ "PropertyDefinition": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ScalarPropertyDefinitionSchema"
+ },
+ {
+ "$ref": "#/$defs/PointPropertyDefinitionSchema"
+ }
+ ]
+ },
+ "ProtectedAccess": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityRowBinding": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AuthorityRowBinding"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "purpose": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PurposeConstraint"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "scope": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scope"
+ ],
+ "type": "object"
+ },
+ "Publication": {
+ "additionalProperties": false,
+ "description": "Public facts the Registry author explicitly elects to publish for\ndiscovery. All other description fields are derived from already governed\nRegistry identity, service, role, and operation contracts.",
+ "properties": {
+ "jurisdictions": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 128,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "jurisdictions"
+ ],
+ "type": "object"
+ },
+ "PurposeConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "allowed": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "claim": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "claim",
+ "allowed"
+ ],
+ "type": "object"
+ },
+ "RecordContext": {
+ "additionalProperties": false,
+ "properties": {
+ "lifecycleState": {
+ "$ref": "#/$defs/CodelistColumnBinding"
+ },
+ "recordIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "recordedAt": {
+ "$ref": "#/$defs/ColumnBinding"
+ },
+ "revisionIdentifier": {
+ "$ref": "#/$defs/ColumnBinding"
+ }
+ },
+ "required": [
+ "recordIdentifier",
+ "revisionIdentifier",
+ "lifecycleState",
+ "recordedAt"
+ ],
+ "type": "object"
+ },
+ "RecordOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "defaultAccessProfile",
+ "accessProfiles"
+ ],
+ "type": "object"
+ },
+ "RegistryDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "alignmentTargets": {
+ "items": {
+ "$ref": "#/$defs/AlignmentTarget"
+ },
+ "type": "array"
+ },
+ "authoritativeScope": {
+ "type": "string"
+ },
+ "authority": {
+ "$ref": "#/$defs/Institution"
+ },
+ "baseUri": {
+ "type": "string"
+ },
+ "identifierLifecyclePolicyRef": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "operator": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Institution"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registryIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "registryIdentifier",
+ "name",
+ "authority",
+ "authoritativeScope",
+ "baseUri",
+ "identifierLifecyclePolicyRef",
+ "alignmentTargets"
+ ],
+ "type": "object"
+ },
+ "ResourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "disclosureProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/DisclosureProfile"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "operations": {
+ "$ref": "#/$defs/Operations"
+ },
+ "primaryGeometry": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "properties": {
+ "additionalProperties": {
+ "$ref": "#/$defs/PropertyDefinition"
+ },
+ "type": "object"
+ },
+ "recordContext": {
+ "$ref": "#/$defs/RecordContext"
+ },
+ "semanticClass": {
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "semanticClass",
+ "source",
+ "classificationDefaults",
+ "recordContext",
+ "properties",
+ "disclosureProfiles",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ResourceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "source": {
+ "type": "string"
+ },
+ "view": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "view"
+ ],
+ "type": "object"
+ },
+ "ReviewStatus": {
+ "enum": [
+ "reviewed",
+ "suggested",
+ "uncertain"
+ ],
+ "type": "string"
+ },
+ "ScalarPropertyDefinitionSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "semanticTerm": {
+ "type": "string"
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "sourceRequired": {
+ "type": "boolean"
+ },
+ "transform": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TransformDefinition"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "sourceColumn",
+ "type",
+ "sourceRequired",
+ "semanticTerm"
+ ],
+ "type": "object"
+ },
+ "SchemeVersion": {
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme",
+ "version"
+ ],
+ "type": "object"
+ },
+ "SdmxBindingDefinition": {
+ "additionalProperties": false,
+ "description": "Optional identity overrides for the fixed compiler-owned SDMX profile.",
+ "properties": {
+ "agencyId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "conceptSchemeId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataStructureId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataflowId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "SearchOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "additionalProperties": {
+ "$ref": "#/$defs/AccessProfileDefinition"
+ },
+ "type": "object"
+ },
+ "defaultAccessProfile": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "orderBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/$defs/Pagination"
+ },
+ "query": {
+ "$ref": "#/$defs/SearchQueryDefinition"
+ }
+ },
+ "required": [
+ "id",
+ "query",
+ "defaultAccessProfile",
+ "accessProfiles",
+ "orderBy",
+ "pagination"
+ ],
+ "type": "object"
+ },
+ "SearchQueryDefinition": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "point-bbox",
+ "type": "string"
+ },
+ "maximumLatitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind",
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "SelectorDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "codelist": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "maximumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimumBytes": {
+ "default": null,
+ "format": "uint32",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "sourceColumn": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/DataType"
+ }
+ },
+ "required": [
+ "sourceColumn",
+ "type"
+ ],
+ "type": "object"
+ },
+ "SemanticAlignment": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "profileRef": {
+ "type": "string"
+ },
+ "relationRequired": {
+ "type": "boolean"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "profileRef",
+ "digest",
+ "relationRequired"
+ ],
+ "type": "object"
+ },
+ "Semantics": {
+ "additionalProperties": false,
+ "properties": {
+ "alignments": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/SemanticAlignment"
+ },
+ "type": "array"
+ },
+ "localVocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "localVocabulary"
+ ],
+ "type": "object"
+ },
+ "SourceDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "expectedSchemaFingerprint": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "profile": {
+ "$ref": "#/$defs/SourceProfile"
+ }
+ },
+ "required": [
+ "kind",
+ "profile",
+ "expectedSchemaFingerprint"
+ ],
+ "type": "object"
+ },
+ "SourceProfile": {
+ "enum": [
+ "snapshot",
+ "live-read-only"
+ ],
+ "type": "string"
+ },
+ "StatisticalAttributeDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "required",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalBindings": {
+ "additionalProperties": false,
+ "properties": {
+ "sdmx": {
+ "$ref": "#/$defs/SdmxBindingDefinition"
+ }
+ },
+ "required": [
+ "sdmx"
+ ],
+ "type": "object"
+ },
+ "StatisticalDatasetDefinition": {
+ "additionalProperties": false,
+ "description": "One governed, pre-aggregated statistical dataset. The authored shape is\nindependent of the fixed SDMX exchange binding compiled from it.",
+ "properties": {
+ "access": {
+ "$ref": "#/$defs/AccessRule"
+ },
+ "attributes": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalAttributeDefinition"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "bindings": {
+ "$ref": "#/$defs/StatisticalBindings"
+ },
+ "classificationDefaults": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "description": {
+ "type": "string"
+ },
+ "dimensions": {
+ "additionalProperties": {
+ "$ref": "#/$defs/StatisticalDimensionDefinition"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "measure": {
+ "$ref": "#/$defs/StatisticalMeasureDefinition"
+ },
+ "processingDescriptions": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProcessingDescription"
+ },
+ "type": "array"
+ },
+ "publication": {
+ "$ref": "#/$defs/StatisticalPublication"
+ },
+ "query": {
+ "$ref": "#/$defs/StatisticalQueryProfile"
+ },
+ "source": {
+ "$ref": "#/$defs/ResourceSource"
+ },
+ "sourceColumnClassifications": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ClassificationPartial"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "time": {
+ "$ref": "#/$defs/StatisticalTimeDimensionDefinition"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "description",
+ "publication",
+ "source",
+ "classificationDefaults",
+ "dimensions",
+ "time",
+ "measure",
+ "access",
+ "query",
+ "bindings"
+ ],
+ "type": "object"
+ },
+ "StatisticalDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ },
+ "vocabulary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalMeasureDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/StatisticalValueType"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "description",
+ "column",
+ "type",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalPublication": {
+ "additionalProperties": false,
+ "properties": {
+ "releaseAt": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "releaseAt"
+ ],
+ "type": "object"
+ },
+ "StatisticalQueryProfile": {
+ "additionalProperties": false,
+ "properties": {
+ "allowUnfiltered": {
+ "type": "boolean"
+ },
+ "maximumObservations": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumOffset": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "allowUnfiltered",
+ "maximumObservations",
+ "maximumOffset"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeDimensionDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "classification": {
+ "$ref": "#/$defs/ClassificationPartial",
+ "default": {
+ "handling": null,
+ "institutional": null,
+ "privacy": null,
+ "status": null
+ }
+ },
+ "column": {
+ "type": "string"
+ },
+ "concept": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "granularity": {
+ "$ref": "#/$defs/StatisticalTimeGranularity"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "description",
+ "column",
+ "granularity",
+ "concept"
+ ],
+ "type": "object"
+ },
+ "StatisticalTimeGranularity": {
+ "enum": [
+ "annual",
+ "quarterly",
+ "monthly",
+ "daily"
+ ],
+ "type": "string"
+ },
+ "StatisticalValueType": {
+ "enum": [
+ "code",
+ "string",
+ "integer",
+ "decimal",
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "TransformDefinition": {
+ "oneOf": [
+ {
+ "properties": {
+ "characters": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "kind": {
+ "const": "partial-string",
+ "type": "string"
+ },
+ "reveal": {
+ "$ref": "#/$defs/PartialStringReveal"
+ }
+ },
+ "required": [
+ "kind",
+ "reveal",
+ "characters"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "date-precision",
+ "type": "string"
+ },
+ "precision": {
+ "$ref": "#/$defs/DatePrecision"
+ },
+ "sourceType": {
+ "$ref": "#/$defs/DateInputType"
+ }
+ },
+ "required": [
+ "kind",
+ "sourceType",
+ "precision"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Visibility": {
+ "enum": [
+ "public",
+ "operation-bound",
+ "operator-only"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "description": "Governed Relay-owned Registry input. Unknown fields are rejected at every\nnested structure rather than silently becoming deployment behavior.",
+ "properties": {
+ "apiVersion": {
+ "type": "string"
+ },
+ "classifications": {
+ "$ref": "#/$defs/ClassificationCatalog"
+ },
+ "governance": {
+ "$ref": "#/$defs/Governance"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "metadata": {
+ "$ref": "#/$defs/ContractMetadata"
+ },
+ "metadataVisibility": {
+ "$ref": "#/$defs/MetadataVisibility"
+ },
+ "publication": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Publication"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryDefinition"
+ },
+ "resources": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ResourceDefinition"
+ },
+ "type": "array"
+ },
+ "semantics": {
+ "$ref": "#/$defs/Semantics"
+ },
+ "sources": {
+ "additionalProperties": {
+ "$ref": "#/$defs/SourceDefinition"
+ },
+ "type": "object"
+ },
+ "statisticalDatasets": {
+ "items": {
+ "$ref": "#/$defs/StatisticalDatasetDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "metadata",
+ "registry",
+ "governance",
+ "semantics",
+ "classifications",
+ "sources",
+ "metadataVisibility"
+ ],
+ "title": "Relay V2 governed Registry contract",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/fbdcd49bfc04974e387dad5fbdbc450b7e12dca8e7b8168c7f227fb352bffb70.json b/src/artifacts/sha256/fbdcd49bfc04974e387dad5fbdbc450b7e12dca8e7b8168c7f227fb352bffb70.json
new file mode 100644
index 00000000..f6f74116
--- /dev/null
+++ b/src/artifacts/sha256/fbdcd49bfc04974e387dad5fbdbc450b7e12dca8e7b8168c7f227fb352bffb70.json
@@ -0,0 +1,3722 @@
+{
+ "$defs": {
+ "AccessGrantSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EntityAccessGrantSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ActionAccessGrantSourceSchema"
+ }
+ ]
+ },
+ "AccessRequirementsSource": {
+ "additionalProperties": false,
+ "description": "Compile-time requirements, not grants. Profiles must explicitly satisfy them.",
+ "properties": {
+ "allowedPurposes": {
+ "default": [],
+ "description": "When nonempty, every profile must restrict purpose to a nonempty subset of these values. Empty imposes no purpose requirement.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "Every profile must require all these scopes. Requirements never grant access.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "description": "Every profile must include these exact field, verified-claim, and operator bindings.",
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ActionAccessGrantSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "type": "string"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "results": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionTargetGrantSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "action",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "ActionEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ActionValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ActionTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ActionInputSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "ActionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionEffectSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "inputs": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionInputSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ActionTargetGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "ActionTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ActionValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ApplyTargetGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "BatchSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "maximumItems": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "maximumItems",
+ "maximumBytes"
+ ],
+ "type": "object"
+ },
+ "BooleanFieldKindSchema": {
+ "enum": [
+ "boolean"
+ ],
+ "type": "string"
+ },
+ "BooleanFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/BooleanFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "BoundaryOperator": {
+ "enum": [
+ "equals",
+ "in"
+ ],
+ "type": "string"
+ },
+ "ChangeControlSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requiredFor": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestApplicationModeSource": {
+ "enum": [
+ "manual",
+ "automatic",
+ "planner"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowedDispositions": {
+ "items": {
+ "$ref": "#/$defs/ChangeRequestDispositionSource"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestApplicationModeSource",
+ "default": "manual"
+ },
+ "queueReasons": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestDispositionSource": {
+ "enum": [
+ "apply",
+ "queue"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestEffectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "clear": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "set": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ChangeRequestValueSource"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "enum": [
+ "rhai"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestPlannerSource": {
+ "additionalProperties": false,
+ "properties": {
+ "abi": {
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ChangeRequestPlannerKindSource"
+ },
+ "requestFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "script": {
+ "type": "string"
+ },
+ "writes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestPlannerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "script",
+ "abi"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestPlannerTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerWriteSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "$ref": "#/$defs/Operation"
+ },
+ "target": {
+ "$ref": "#/$defs/ChangeRequestPlannerTargetSource"
+ }
+ },
+ "required": [
+ "target",
+ "operation"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestRetentionModeSource": {
+ "enum": [
+ "retain",
+ "operator_erase"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestRetentionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestRetentionModeSource",
+ "default": "retain"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewModeSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestReviewStageSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestReviewStageSource": {
+ "additionalProperties": false,
+ "properties": {
+ "approvals": {
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "excludeSubmitter": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "approvals"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestSource": {
+ "additionalProperties": false,
+ "properties": {
+ "application": {
+ "$ref": "#/$defs/ChangeRequestApplicationSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "planner": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestPlannerSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retention": {
+ "$ref": "#/$defs/ChangeRequestRetentionSource",
+ "default": {
+ "mode": "retain"
+ }
+ },
+ "review": {
+ "$ref": "#/$defs/ChangeRequestReviewSource"
+ }
+ },
+ "required": [
+ "review"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestTargetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestValueSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fromEffect": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fromField": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "Classification": {
+ "enum": [
+ "public",
+ "internal",
+ "restricted"
+ ],
+ "type": "string"
+ },
+ "ComparisonOperator": {
+ "enum": [
+ "less_than",
+ "less_than_or_equal",
+ "greater_than",
+ "greater_than_or_equal"
+ ],
+ "type": "string"
+ },
+ "ConstraintSource": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "unique",
+ "type": "string"
+ },
+ "when": {
+ "items": {
+ "$ref": "#/$defs/UniqueWhenPredicate"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "compare",
+ "type": "string"
+ },
+ "left": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/ComparisonOperator"
+ },
+ "right": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "left",
+ "operator",
+ "right"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "int_range",
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "format": "int64",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "field",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "temporal-non-overlap",
+ "type": "string"
+ },
+ "scopeFields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "scopeFields"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Crs84BboxSource": {
+ "additionalProperties": false,
+ "properties": {
+ "east": {
+ "type": "string"
+ },
+ "north": {
+ "type": "string"
+ },
+ "south": {
+ "type": "string"
+ },
+ "west": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "west",
+ "south",
+ "east",
+ "north"
+ ],
+ "type": "object"
+ },
+ "Crs84PointFieldKindSchema": {
+ "enum": [
+ "crs84-point"
+ ],
+ "type": "string"
+ },
+ "Crs84PointFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Crs84PointFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision"
+ ],
+ "type": "object"
+ },
+ "DateFieldKindSchema": {
+ "enum": [
+ "date"
+ ],
+ "type": "string"
+ },
+ "DateFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/DateFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "DecimalFieldKindSchema": {
+ "enum": [
+ "decimal"
+ ],
+ "type": "string"
+ },
+ "DecimalFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maximum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "$ref": "#/$defs/DecimalFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ "DerivedExecutionSource": {
+ "enum": [
+ "live"
+ ],
+ "type": "string"
+ },
+ "DerivedFieldSource": {
+ "oneOf": [
+ {
+ "properties": {
+ "type": {
+ "const": "boolean",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "string",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "int64",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maximum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "minimum": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scale": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision",
+ "scale"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "date",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "timestamp",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "type": {
+ "const": "vocabulary-code",
+ "type": "string"
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "const": "reference",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Crs84BboxSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "precision": {
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "crs84-point",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "precision"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "schema": true,
+ "type": {
+ "const": "structured",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "apiName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "classification"
+ ],
+ "type": "object",
+ "unevaluatedProperties": false
+ },
+ "DerivedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "execution": {
+ "$ref": "#/$defs/DerivedExecutionSource",
+ "default": "live"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/DerivedFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sql",
+ "key"
+ ],
+ "type": "object"
+ },
+ "EntityAccessGrantSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "allowDataExport": {
+ "default": false,
+ "type": "boolean"
+ },
+ "applyTargets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ApplyTargetGrantSource"
+ },
+ "type": "array"
+ },
+ "entity": {
+ "type": "string"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "lookups": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/LookupGrantSource"
+ },
+ "type": "array"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/$defs/Operation"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "readPaths": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReadPathGrantSource"
+ },
+ "type": "array"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requestPresence": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RequestPresenceGrantSource"
+ },
+ "type": "array"
+ },
+ "requestVisibility": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RequestVisibilitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "reviewStages": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStageGrantSource"
+ },
+ "type": "array"
+ },
+ "revisionAccess": {
+ "default": false,
+ "type": "boolean"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "spatialQueries": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialQueryGrantSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "writableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "entity",
+ "operations"
+ ],
+ "type": "object"
+ },
+ "EntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessRequirements": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/AccessRequirementsSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Mandatory request-access requirements checked against every profile, including module contributions."
+ },
+ "batch": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BatchSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "changeControl": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeControlSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "changeRequest": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification",
+ "default": "internal"
+ },
+ "constraints": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ConstraintSource"
+ },
+ "type": "array"
+ },
+ "derived": {
+ "items": {
+ "$ref": "#/$defs/DerivedSource"
+ },
+ "type": "array"
+ },
+ "events": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EventSource"
+ },
+ "type": "array"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "indexes": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/IndexSource"
+ },
+ "type": "array"
+ },
+ "mutationMode": {
+ "$ref": "#/$defs/MutationMode"
+ },
+ "primaryDataset": {
+ "type": "string"
+ },
+ "readPaths": {
+ "items": {
+ "$ref": "#/$defs/ReadPathSource"
+ },
+ "type": "array"
+ },
+ "route": {
+ "type": "string"
+ },
+ "selectorProfiles": {
+ "items": {
+ "$ref": "#/$defs/SelectorProfileSource"
+ },
+ "type": "array"
+ },
+ "temporal": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/TemporalSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "tombstone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "primaryDataset",
+ "route",
+ "mutationMode"
+ ],
+ "type": "object"
+ },
+ "EventConditionSource": {
+ "description": "Closed Version 1 event selection language.\n\nA tagged shape leaves room for a later, separately governed rule ABI\nwithout turning fields into an ad hoc expression language.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "afterEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values after the change. Valid with created and patched triggers.",
+ "type": "object"
+ },
+ "beforeEquals": {
+ "additionalProperties": {
+ "$ref": "#/$defs/EventScalarValue"
+ },
+ "default": {},
+ "description": "Required values before the change. Valid with patched and tombstoned triggers.",
+ "type": "object"
+ },
+ "changed": {
+ "default": [],
+ "description": "Fields whose values must change. Only valid with the patched trigger.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "kind": {
+ "const": "fields",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "request_lifecycle",
+ "type": "string"
+ },
+ "stages": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "toStates": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "transitions": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "EventScalarValue": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "A comparison literal in the closed field-condition language.\n\nObjects and arrays are refused during source parsing. The compiler then\nvalidates each scalar against the declared Registry field type."
+ },
+ "EventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Stable event contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "projection": {
+ "description": "Declared field identifiers to include in `values`. System event metadata is included separately.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "trigger": {
+ "$ref": "#/$defs/EventTrigger",
+ "description": "Committed record change that can produce this event."
+ },
+ "webhook": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/WebhookSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Logical delivery destination. Production compilation requires a webhook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to emit on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "FieldSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/BooleanFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StringFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TextFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Int64FieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DecimalFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/DateFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/TimestampFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/UuidFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/VocabularyCodeFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/ReferenceFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/Crs84PointFieldSourceSchema"
+ },
+ {
+ "$ref": "#/$defs/StructuredFieldSourceSchema"
+ }
+ ]
+ },
+ "GeoJsonSource": {
+ "additionalProperties": false,
+ "properties": {
+ "geometryField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "geometryField"
+ ],
+ "type": "object"
+ },
+ "IndexSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "Int64FieldKindSchema": {
+ "enum": [
+ "int64"
+ ],
+ "type": "string"
+ },
+ "Int64FieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/Int64FieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "LookupGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "claimMapping": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "selector": {
+ "type": "string"
+ },
+ "valueOrigin": {
+ "$ref": "#/$defs/LookupValueOrigin"
+ }
+ },
+ "required": [
+ "selector",
+ "valueOrigin"
+ ],
+ "type": "object"
+ },
+ "LookupValueOrigin": {
+ "enum": [
+ "request",
+ "verified_claim"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionApplicationProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionCatalogSource": {
+ "additionalProperties": false,
+ "properties": {
+ "applicationProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionApplicationProfileSource"
+ },
+ "type": "array"
+ },
+ "baseUrl": {
+ "type": "string"
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "participantId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "publisher": {
+ "$ref": "#/$defs/ManifestProjectionPublisherSource"
+ },
+ "standards": {
+ "$ref": "#/$defs/ManifestProjectionStandardsSource",
+ "default": {}
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "baseUrl",
+ "title",
+ "publisher"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDataServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "conformsTo": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "endpointDescription": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpointUrl": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "servesDatasets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "endpointUrl",
+ "servesDatasets"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "applicableLegislation": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "classificationCeiling": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Classification"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "conformsTo": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "owner": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "spatialCoverage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionDatasetStatus"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionDatasetStatus": {
+ "enum": [
+ "under_development",
+ "active",
+ "completed",
+ "deprecated",
+ "withdrawn"
+ ],
+ "type": "string"
+ },
+ "ManifestProjectionDistributionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessService": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "accessUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "dataset": {
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "downloadUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "format": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mediaType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "dataset"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionEntitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "conceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionFieldSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "identifiers": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionIdentifierSource"
+ },
+ "type": "array"
+ },
+ "title": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionFieldSource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipConceptUri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "relationshipRole": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "unit": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionIdentifierSource": {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "kind"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublicServiceSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionPublisherSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authorityType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionSource": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": "string"
+ },
+ "catalog": {
+ "$ref": "#/$defs/ManifestProjectionCatalogSource"
+ },
+ "classificationCeiling": {
+ "$ref": "#/$defs/Classification"
+ },
+ "dataServices": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDataServiceSource"
+ },
+ "type": "array"
+ },
+ "datasets": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDatasetSource"
+ },
+ "type": "array"
+ },
+ "distributions": {
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionDistributionSource"
+ },
+ "type": "array"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionEntitySource"
+ },
+ "type": "array"
+ },
+ "publicService": {
+ "$ref": "#/$defs/ManifestProjectionPublicServiceSource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "accessProfile",
+ "classificationCeiling",
+ "catalog",
+ "publicService",
+ "datasets",
+ "dataServices"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionStandardsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "dcat": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "jsonSchema": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shacl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ManifestProjectionTextSource": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ManifestProjectionVocabularyConceptSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "iri": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "label": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionTextSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "code"
+ ],
+ "type": "object"
+ },
+ "ManifestProjectionVocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "concepts": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ManifestProjectionVocabularyConceptSource"
+ },
+ "type": "array"
+ },
+ "externalRef": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "schemeIri": {
+ "type": "string"
+ },
+ "version": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "schemeIri"
+ ],
+ "type": "object"
+ },
+ "ModuleLockSource": {
+ "additionalProperties": false,
+ "properties": {
+ "digest": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version"
+ ],
+ "type": "object"
+ },
+ "MutationMode": {
+ "enum": [
+ "mutable",
+ "create_only"
+ ],
+ "type": "string"
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "approve_request",
+ "reject_request",
+ "request_revision",
+ "revise_request",
+ "cancel_request",
+ "apply_request",
+ "invoke"
+ ],
+ "type": "string"
+ },
+ "PackageIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "environment": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string"
+ },
+ "sequence": {
+ "format": "uint64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sourceRevision": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "environment",
+ "instanceId",
+ "sequence",
+ "sourceRevision"
+ ],
+ "type": "object"
+ },
+ "ProjectAccessProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "anonymous": {
+ "default": false,
+ "type": "boolean"
+ },
+ "default": {
+ "default": false,
+ "type": "boolean"
+ },
+ "grants": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/AccessGrantSource"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "principalClaim": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "requiredPurposes": {
+ "default": [],
+ "description": "The verified token's purpose must match one listed value. Empty means no purpose restriction.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "requiredScopes": {
+ "default": [],
+ "description": "All listed scopes must be present in the verified token.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "ReadPathGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "allowCount": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filterableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "path": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "sortableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
+ "ReadPathSource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "route": {
+ "type": "string"
+ },
+ "through": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "through",
+ "to",
+ "route"
+ ],
+ "type": "object"
+ },
+ "ReferenceDelete": {
+ "enum": [
+ "restrict"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldKindSchema": {
+ "enum": [
+ "reference"
+ ],
+ "type": "string"
+ },
+ "ReferenceFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "onDelete": {
+ "$ref": "#/$defs/ReferenceDelete",
+ "default": "restrict"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "target": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/$defs/ReferenceFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "target"
+ ],
+ "type": "object"
+ },
+ "RegistryIdentitySource": {
+ "additionalProperties": false,
+ "properties": {
+ "canonicalBaseIri": {
+ "type": "string"
+ },
+ "defaultLanguage": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "version",
+ "defaultLanguage",
+ "canonicalBaseIri"
+ ],
+ "type": "object"
+ },
+ "RequestPresenceGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "requestType": {
+ "type": "string"
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "requestType"
+ ],
+ "type": "object"
+ },
+ "RequestVisibilitySource": {
+ "oneOf": [
+ {
+ "const": "owner",
+ "description": "Expose only requests created by the current authenticated principal.",
+ "type": "string"
+ }
+ ]
+ },
+ "ReviewStageGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "stage": {
+ "type": "string"
+ },
+ "targets": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ReviewStageTargetGrantSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "stage"
+ ],
+ "type": "object"
+ },
+ "ReviewStageTargetGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "entity": {
+ "type": "string"
+ },
+ "readableFields": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "rowBoundaries": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/RowBoundarySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entity"
+ ],
+ "type": "object"
+ },
+ "RowBoundarySource": {
+ "additionalProperties": false,
+ "properties": {
+ "claim": {
+ "type": "string"
+ },
+ "field": {
+ "type": "string"
+ },
+ "operator": {
+ "$ref": "#/$defs/BoundaryOperator"
+ }
+ },
+ "required": [
+ "field",
+ "claim",
+ "operator"
+ ],
+ "type": "object"
+ },
+ "SelectorProfileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "fields"
+ ],
+ "type": "object"
+ },
+ "SpatialBboxGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "maximumLatitudeSpanDegrees": {
+ "type": "number"
+ },
+ "maximumLongitudeSpanDegrees": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "maximumLongitudeSpanDegrees",
+ "maximumLatitudeSpanDegrees"
+ ],
+ "type": "object"
+ },
+ "SpatialQueryGrantSource": {
+ "additionalProperties": false,
+ "properties": {
+ "bbox": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/SpatialBboxGrantSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "StringFieldKindSchema": {
+ "enum": [
+ "string"
+ ],
+ "type": "string"
+ },
+ "StringFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minLength": {
+ "default": 0,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/StringFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "StructuredFieldKindSchema": {
+ "enum": [
+ "structured"
+ ],
+ "type": "string"
+ },
+ "StructuredFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxBytes": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "schema": true,
+ "type": {
+ "$ref": "#/$defs/StructuredFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxBytes",
+ "schema"
+ ],
+ "type": "object"
+ },
+ "TemporalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "endField": {
+ "type": "string"
+ },
+ "scopeFields": {
+ "description": "Deprecated bounded predecessor bridge. New authoring should declare\nexclusivity only through `constraints[].scopeFields`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "startField": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "startField",
+ "endField"
+ ],
+ "type": "object"
+ },
+ "TextFieldKindSchema": {
+ "enum": [
+ "text"
+ ],
+ "type": "string"
+ },
+ "TextFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "maxLength": {
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TextFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "maxLength"
+ ],
+ "type": "object"
+ },
+ "TimestampFieldKindSchema": {
+ "enum": [
+ "timestamp"
+ ],
+ "type": "string"
+ },
+ "TimestampFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/TimestampFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "UniqueWhenPredicate": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_equals",
+ "type": "string"
+ },
+ "value": true
+ },
+ "required": [
+ "kind",
+ "field",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "field_is_not_null",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "active_lifecycle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "UuidFieldKindSchema": {
+ "enum": [
+ "uuid"
+ ],
+ "type": "string"
+ },
+ "UuidFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/UuidFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification"
+ ],
+ "type": "object"
+ },
+ "ValidTimeRole": {
+ "enum": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldKindSchema": {
+ "enum": [
+ "vocabulary-code"
+ ],
+ "type": "string"
+ },
+ "VocabularyCodeFieldSourceSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "apiName": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "classification": {
+ "$ref": "#/$defs/Classification"
+ },
+ "id": {
+ "type": "string"
+ },
+ "required": {
+ "default": false,
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/$defs/VocabularyCodeFieldKindSchema"
+ },
+ "validTimeRole": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ValidTimeRole"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "values": {
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vocabulary": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "classification",
+ "vocabulary"
+ ],
+ "type": "object"
+ },
+ "VocabularySource": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "values"
+ ],
+ "type": "object"
+ },
+ "WebhookSource": {
+ "additionalProperties": false,
+ "description": "Governed, destination-neutral webhook subscription.\n\nDeployment configuration may bind `destination_id` to transport details\nand tighten these bounds, but cannot supply or widen this authority.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in runtime `eventDestinations`; the project carries no URL or secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "accessProfiles": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ProjectAccessProfileSource"
+ },
+ "type": "array"
+ },
+ "actions": {
+ "items": {
+ "$ref": "#/$defs/ActionSource"
+ },
+ "type": "array"
+ },
+ "apiVersion": {
+ "type": "string"
+ },
+ "entities": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/EntitySource"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "manifestProjection": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ManifestProjectionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "modules": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ModuleLockSource"
+ },
+ "type": "array"
+ },
+ "package": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PackageIdentitySource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "registry": {
+ "$ref": "#/$defs/RegistryIdentitySource"
+ },
+ "vocabularies": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/VocabularySource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "registry"
+ ],
+ "title": "Base Registry Engine authored project",
+ "type": "object"
+}
diff --git a/src/catalogs/contexts.json b/src/catalogs/contexts.json
index efa1de14..34983bc3 100644
--- a/src/catalogs/contexts.json
+++ b/src/catalogs/contexts.json
@@ -11,12 +11,30 @@
"source": "src/artifacts/sha256/9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71.jsonld",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/profile/registry-record-v1.md",
"sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
},
"artifact_sha256": "9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71",
"immutable_uri": "https://id.registrystack.org/artifacts/sha256/9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71.jsonld"
+ },
+ {
+ "uri": "https://id.registrystack.org/contexts/registry-relay/provenance/v1.jsonld",
+ "title": "Registry Relay provenance v1 context",
+ "description": "JSON-LD context for Registry Relay provenance credential subjects.",
+ "kind": "context",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/contexts.json",
+ "sha256": "c3437558da424e44d0fd8feb954b28b9640a3db3aa5001311506eb03c51c8433"
+ },
+ "source": "src/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld",
+ "artifact_sha256": "c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/c8e9096a02c4a93ef4a8e7884eb9d5f05b9d544c3549d060d313a32fdedc1b1c.jsonld"
}
]
}
diff --git a/src/catalogs/namespaces.json b/src/catalogs/namespaces.json
index 91ca160f..51600e06 100644
--- a/src/catalogs/namespaces.json
+++ b/src/catalogs/namespaces.json
@@ -10,10 +10,55 @@
"owner": "registry-manifest",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-manifest-core/src/lib.rs",
"sha256": "a8d8c58eb9f2eb10db68b26c9e285a11fa3f531d98bab19ecab52e2a37e4b17f"
}
+ },
+ {
+ "uri": "https://id.registrystack.org/ns/registry-notary/v1#",
+ "title": "Registry Notary v1 namespace",
+ "description": "JSON-LD namespace for Registry Notary metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "6680e28c21f5c01872d20d3cd73bb09e8dda00cbb1b5b0cb7c2d022eabc1179d"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/ns/registry-relay/provenance/v1#",
+ "title": "Registry Relay provenance v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay provenance credential terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/ns/registry-relay/v1#",
+ "title": "Registry Relay v1 namespace",
+ "description": "JSON-LD namespace for Registry Relay metadata terms.",
+ "kind": "namespace",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "41f0c7a300e54e047e83964bf1f05e43fb463882",
+ "path": "src/catalogs/namespaces.json",
+ "sha256": "bde12ac7cf13d432fcc61a428d03788d12ad2fef72f7f8e6aeafea1f8419caeb"
+ }
}
]
}
diff --git a/src/catalogs/problems.json b/src/catalogs/problems.json
index 3626ce7c..8be81c6e 100644
--- a/src/catalogs/problems.json
+++ b/src/catalogs/problems.json
@@ -1,5 +1,5 @@
{
- "generated_from": "https://github.com/registrystack/registry-stack/blob/a33853f270193de7b1a98e542c9d09913c367aaa/products/identifiers/generated/catalog.v1.json",
+ "generated_from": "https://github.com/registrystack/registry-stack/blob/22ea92286036f28a59cfbe5d7c835f4738d62074/products/identifiers/generated/catalog.v1.json",
"generated_at": "1970-01-01T00:00:00.000Z",
"entries": [
{
@@ -18,7 +18,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -39,7 +39,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -60,7 +60,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -81,7 +81,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -102,7 +102,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -123,7 +123,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -144,7 +144,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -165,7 +165,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -186,7 +186,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -207,7 +207,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -228,7 +228,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -249,7 +249,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -270,7 +270,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -291,7 +291,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -312,7 +312,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -333,7 +333,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -354,7 +354,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -375,7 +375,7 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
@@ -396,702 +396,4335 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/problem.rs",
"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
}
},
{
- "product": "registry-discovery",
- "code": "invalid-request",
- "path": "invalid-request",
- "title": "Invalid request",
- "description": "The Discovery request is invalid.",
+ "product": "registry-casework",
+ "code": "absence.cover-cycle",
+ "path": "absence/cover-cycle",
+ "title": "Absence cover cycle",
+ "description": "Choose cover assignments that do not return to an earlier person during a shared period.",
"kind": "problem",
"status": "active",
"compatibility_line": "v1alpha1",
- "owner": "discovery",
+ "owner": "casework",
"http_statuses": [
- 400
+ 422
],
- "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-discovery",
- "code": "not-found",
- "path": "not-found",
- "title": "Not found",
- "description": "The requested Discovery resource was not found.",
+ "product": "registry-casework",
+ "code": "absence.invalid-period",
+ "path": "absence/invalid-period",
+ "title": "Invalid absence period",
+ "description": "Set until later than from.",
"kind": "problem",
"status": "active",
"compatibility_line": "v1alpha1",
- "owner": "discovery",
+ "owner": "casework",
"http_statuses": [
- 404
+ 422
],
- "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-discovery",
- "code": "result-bound-exceeded",
- "path": "result-bound-exceeded",
- "title": "Result bound exceeded",
- "description": "The complete Discovery result exceeds its configured bound.",
+ "product": "registry-casework",
+ "code": "absence.overlap",
+ "path": "absence/overlap",
+ "title": "Absence period overlaps",
+ "description": "Adjust the period so this person has no overlapping absence.",
"kind": "problem",
"status": "active",
"compatibility_line": "v1alpha1",
- "owner": "discovery",
+ "owner": "casework",
"http_statuses": [
422
],
- "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-discovery",
- "code": "unavailable",
- "path": "unavailable",
- "title": "Unavailable",
- "description": "Registry Discovery is temporarily unavailable.",
+ "product": "registry-casework",
+ "code": "absence.self-cover",
+ "path": "absence/self-cover",
+ "title": "Absence self-cover not allowed",
+ "description": "Choose a different staff member as cover.",
"kind": "problem",
"status": "active",
"compatibility_line": "v1alpha1",
- "owner": "discovery",
+ "owner": "casework",
"http_statuses": [
- 503
+ 422
],
- "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-discovery/src/problem.rs",
- "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "auth.invalid_credential",
- "path": "auth/invalid_credential",
- "title": "Bearer access token is invalid",
- "description": "bearer access token validation failed",
+ "product": "registry-casework",
+ "code": "authentication.refused",
+ "path": "authentication/refused",
+ "title": "Authentication refused",
+ "description": "The bearer credential is missing, invalid, or expired. Sign in again.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
401
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "evidence.denied",
- "path": "evidence/denied",
- "title": "Evidence request is not permitted",
- "description": "the Evidence request is not permitted",
+ "product": "registry-casework",
+ "code": "clock.recompute-preview-expired",
+ "path": "clock/recompute-preview-expired",
+ "title": "Clock recompute preview expired",
+ "description": "Create a new recompute preview and review it before applying.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 403
+ 410
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "evidence.invalid_request",
- "path": "evidence/invalid_request",
- "title": "Evidence request is invalid",
- "description": "the Evidence request is invalid",
+ "product": "registry-casework",
+ "code": "cursor.expired",
+ "path": "cursor/expired",
+ "title": "Cursor expired",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 400
+ 410
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "evidence.rate_limited",
- "path": "evidence/rate_limited",
- "title": "Evidence request rate is exhausted",
- "description": "the Evidence request rate is exhausted",
+ "product": "registry-casework",
+ "code": "cursor.invalid",
+ "path": "cursor/invalid",
+ "title": "Cursor invalid",
+ "description": "The cursor is invalid for this request.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 429
+ 400
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "evidence.unavailable",
- "path": "evidence/unavailable",
- "title": "Evidence could not be produced",
- "description": "evidence could not be produced for this request",
+ "product": "registry-casework",
+ "code": "idempotency.expired",
+ "path": "idempotency/expired",
+ "title": "Idempotency window expired",
+ "description": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 422
+ 410
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "format.unsupported",
- "path": "format/unsupported",
- "title": "Requested format is not supported",
- "description": "the requested format is not supported",
+ "product": "registry-casework",
+ "code": "idempotency.key-reused",
+ "path": "idempotency/key-reused",
+ "title": "Idempotency key reused",
+ "description": "This idempotency key was used for a different request.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 406
+ 409
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "request.selector_invalid",
- "path": "request/selector_invalid",
- "title": "Selector is invalid",
- "description": "selector does not match an available request profile",
+ "product": "registry-casework",
+ "code": "operation.not-authorized",
+ "path": "operation/not-authorized",
+ "title": "Operation not authorized",
+ "description": "Your current Casework authority does not allow this operation.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 400
+ 403
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "resource.not_found",
- "path": "resource/not_found",
- "title": "Requested resource was not found",
- "description": "the requested resource was not found",
+ "product": "registry-casework",
+ "code": "precondition.failed",
+ "path": "precondition/failed",
+ "title": "Precondition failed",
+ "description": "The item or directory changed since you loaded it. Reload and try again.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 404
+ 412
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "service.unavailable",
- "path": "service/unavailable",
- "title": "Service is unavailable",
- "description": "the request could not be served",
+ "product": "registry-casework",
+ "code": "precondition.required",
+ "path": "precondition/required",
+ "title": "Precondition required",
+ "description": "This mutation requires the revision that you loaded.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 503
+ 428
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-evidence",
- "code": "source.unavailable",
- "path": "source/unavailable",
- "title": "Authoritative source is unavailable",
- "description": "the authoritative source is unavailable",
+ "product": "registry-casework",
+ "code": "profile.not-authorized",
+ "path": "profile/not-authorized",
+ "title": "Profile not authorized",
+ "description": "The selected Casework profile does not authorize this request.",
"kind": "problem",
"status": "active",
- "compatibility_line": "v1",
- "owner": "evidence",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 503
+ 403
],
- "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-evidence/src/problem.rs",
- "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-relay",
- "code": "aggregate-data.denied",
- "path": "aggregate-data/denied",
- "title": "Aggregate data access is not permitted",
- "description": "aggregate data access is not permitted",
+ "product": "registry-casework",
+ "code": "profile.not-human",
+ "path": "profile/not-human",
+ "title": "Human session required",
+ "description": "This action is reserved for a human session.",
"kind": "problem",
"status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
403
],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-relay",
- "code": "aggregate-data.invalid_request",
- "path": "aggregate-data/invalid_request",
- "title": "Aggregate data request is invalid",
- "description": "the aggregate data request is invalid",
+ "product": "registry-casework",
+ "code": "request.body-too-large",
+ "path": "request/body-too-large",
+ "title": "Request body too large",
+ "description": "The request body exceeds the one MiB limit.",
"kind": "problem",
"status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 400
+ 413
],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-relay",
- "code": "aggregate-data.rate_limited",
- "path": "aggregate-data/rate_limited",
- "title": "Aggregate data quota is exhausted",
- "description": "the aggregate data quota is exhausted",
+ "product": "registry-casework",
+ "code": "request.invalid",
+ "path": "request/invalid",
+ "title": "Invalid request",
+ "description": "The Casework request is invalid.",
"kind": "problem",
"status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 429
+ 400
],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-relay",
- "code": "aggregate-data.too_large",
- "path": "aggregate-data/too_large",
- "title": "Aggregate data request is too broad",
- "description": "the aggregate data request exceeds its observation limit",
+ "product": "registry-casework",
+ "code": "request.method-not-allowed",
+ "path": "request/method-not-allowed",
+ "title": "Method not allowed",
+ "description": "This route does not accept that HTTP method.",
"kind": "problem",
"status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 413
+ 405
],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-relay",
- "code": "audit.unavailable",
- "path": "audit/unavailable",
- "title": "Required audit is unavailable",
- "description": "required audit is unavailable",
+ "product": "registry-casework",
+ "code": "request.not-found",
+ "path": "request/not-found",
+ "title": "Route not found",
+ "description": "The requested Casework route does not exist.",
"kind": "problem",
"status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 503
+ 404
],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-relay",
- "code": "auth.invalid_credential",
- "path": "auth/invalid_credential",
- "title": "Bearer access token is invalid",
- "description": "bearer access token validation failed",
+ "product": "registry-casework",
+ "code": "request.reason-unsupported",
+ "path": "request/reason-unsupported",
+ "title": "Reason not supported",
+ "description": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
"kind": "problem",
"status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
"http_statuses": [
- 401
+ 422
],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
}
},
{
- "product": "registry-relay",
- "code": "auth.missing_credential",
- "path": "auth/missing_credential",
- "title": "Bearer access token is required",
- "description": "a bearer access token is required",
+ "product": "registry-casework",
+ "code": "request.source-rejected",
+ "path": "request/source-rejected",
+ "title": "Source rejected request",
+ "description": "The source refused the request body. Fix the request before trying again.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "request.unprocessable",
+ "path": "request/unprocessable",
+ "title": "Request could not be processed",
+ "description": "The request body does not match the Casework contract.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "request.unsupported-media-type",
+ "path": "request/unsupported-media-type",
+ "title": "Unsupported media type",
+ "description": "Send a JSON request body with Content-Type application/json.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 415
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "runtime.failure",
+ "path": "runtime/failure",
+ "title": "Casework runtime failure",
+ "description": "Casework could not complete the request.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 500
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "service.unavailable",
+ "path": "service/unavailable",
+ "title": "Casework service unavailable",
+ "description": "Casework storage is unavailable. Try again after the service recovers.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "source-profile.not-applicable",
+ "path": "source-profile/not-applicable",
+ "title": "Source profile not applicable",
+ "description": "Omit the Registry-Source-Profile header for this request.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "source-profile.required",
+ "path": "source-profile/required",
+ "title": "Source profile required",
+ "description": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "source.bad-gateway",
+ "path": "source/bad-gateway",
+ "title": "Invalid source response",
+ "description": "The source returned a response that does not match its registered contract.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 502
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "source.not-found",
+ "path": "source/not-found",
+ "title": "Source not found",
+ "description": "The requested source is not registered.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 404
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "source.record-missing",
+ "path": "source/record-missing",
+ "title": "Source record missing",
+ "description": "The bound source record is no longer at the registered location.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 404
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "source.reviewer-not-authorized",
+ "path": "source/reviewer-not-authorized",
+ "title": "Source reviewer not authorized",
+ "description": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 403
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "source.signature-invalid",
+ "path": "source/signature-invalid",
+ "title": "Source signature invalid",
+ "description": "The event's signature did not verify.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.already-claimed",
+ "path": "work-item/already-claimed",
+ "title": "Work item already claimed",
+ "description": "Someone else claimed this item a moment ago.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.not-holder",
+ "path": "work-item/not-holder",
+ "title": "Work item held by another person",
+ "description": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.not-offered",
+ "path": "work-item/not-offered",
+ "title": "Work item action not offered",
+ "description": "The registry did not offer this action to you. Refresh to check again.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.not-visible",
+ "path": "work-item/not-visible",
+ "title": "Work item not visible",
+ "description": "The registry did not show you this request, so Casework cannot show you the item.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 404
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.proposal-changed",
+ "path": "work-item/proposal-changed",
+ "title": "Work item proposal changed",
+ "description": "The proposal changed since you read it. Your private draft is retained.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.recovery-pending",
+ "path": "work-item/recovery-pending",
+ "title": "Work item recovery pending",
+ "description": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.source-unavailable",
+ "path": "work-item/source-unavailable",
+ "title": "Work item source unavailable",
+ "description": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "work-item.superseded",
+ "path": "work-item/superseded",
+ "title": "Work item superseded",
+ "description": "A revised proposal replaced this item. Open the current one.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ }
+ },
+ {
+ "product": "registry-discovery",
+ "code": "invalid-request",
+ "path": "invalid-request",
+ "title": "Invalid request",
+ "description": "The Discovery request is invalid.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "discovery",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "product": "registry-discovery",
+ "code": "not-found",
+ "path": "not-found",
+ "title": "Not found",
+ "description": "The requested Discovery resource was not found.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "discovery",
+ "http_statuses": [
+ 404
+ ],
+ "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "product": "registry-discovery",
+ "code": "result-bound-exceeded",
+ "path": "result-bound-exceeded",
+ "title": "Result bound exceeded",
+ "description": "The complete Discovery result exceeds its configured bound.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "discovery",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "product": "registry-discovery",
+ "code": "unavailable",
+ "path": "unavailable",
+ "title": "Unavailable",
+ "description": "Registry Discovery is temporarily unavailable.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "discovery",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-discovery/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-discovery/src/problem.rs",
+ "sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "auth.invalid_credential",
+ "path": "auth/invalid_credential",
+ "title": "Bearer access token is invalid",
+ "description": "bearer access token validation failed",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 401
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "evidence.denied",
+ "path": "evidence/denied",
+ "title": "Evidence request is not permitted",
+ "description": "the Evidence request is not permitted",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 403
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "evidence.invalid_request",
+ "path": "evidence/invalid_request",
+ "title": "Evidence request is invalid",
+ "description": "the Evidence request is invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "evidence.rate_limited",
+ "path": "evidence/rate_limited",
+ "title": "Evidence request rate is exhausted",
+ "description": "the Evidence request rate is exhausted",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 429
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "evidence.unavailable",
+ "path": "evidence/unavailable",
+ "title": "Evidence could not be produced",
+ "description": "evidence could not be produced for this request",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "format.unsupported",
+ "path": "format/unsupported",
+ "title": "Requested format is not supported",
+ "description": "the requested format is not supported",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 406
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "request.selector_invalid",
+ "path": "request/selector_invalid",
+ "title": "Selector is invalid",
+ "description": "selector does not match an available request profile",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "resource.not_found",
+ "path": "resource/not_found",
+ "title": "Requested resource was not found",
+ "description": "the requested resource was not found",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 404
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "service.unavailable",
+ "path": "service/unavailable",
+ "title": "Service is unavailable",
+ "description": "the request could not be served",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-evidence",
+ "code": "source.unavailable",
+ "path": "source/unavailable",
+ "title": "Authoritative source is unavailable",
+ "description": "the authoritative source is unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1",
+ "owner": "evidence",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-evidence/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-evidence/src/problem.rs",
+ "sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "admin.config_bundle_invalid",
+ "path": "admin/config_bundle_invalid",
+ "title": "config bundle is invalid",
+ "description": "A submitted configuration bundle could not be validated.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "audit.write_failed",
+ "path": "audit/write_failed",
+ "title": "audit write failed",
+ "description": "An audit record could not be written.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "auth.missing_credential",
+ "path": "auth/missing_credential",
+ "title": "credential is missing",
+ "description": "No authentication credential was provided.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "auth.multiple_credentials",
+ "path": "auth/multiple_credentials",
+ "title": "multiple authentication credentials were provided",
+ "description": "More than one authentication credential was provided.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "auth.purpose_required",
+ "path": "auth/purpose_required",
+ "title": "purpose is required",
+ "description": "The request omits a required purpose.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "auth.scope_denied",
+ "path": "auth/scope_denied",
+ "title": "required scope is missing",
+ "description": "The caller's scopes do not include the required scope.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "batch.too_large",
+ "path": "batch/too_large",
+ "title": "batch request is too large",
+ "description": "The batch request exceeds the configured item limit.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "claim.disclosure_not_allowed",
+ "path": "claim/disclosure_not_allowed",
+ "title": "requested disclosure is not allowed",
+ "description": "The requested disclosure level is not permitted for the claim.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "claim.format_not_supported",
+ "path": "claim/format_not_supported",
+ "title": "format is unsupported",
+ "description": "The requested response format is not supported.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "claim.not_found",
+ "path": "claim/not_found",
+ "title": "claim was not found",
+ "description": "The requested claim id is not configured.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "claim.operation_unsupported",
+ "path": "claim/operation_unsupported",
+ "title": "claim operation is unsupported",
+ "description": "The requested operation is not supported for the claim.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "claim.rule_evaluation_failed",
+ "path": "claim/rule_evaluation_failed",
+ "title": "claim rule evaluation failed",
+ "description": "A configured claim rule could not be evaluated.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "claim.version_not_found",
+ "path": "claim/version_not_found",
+ "title": "claim version was not found",
+ "description": "The requested claim version does not exist.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "config.apply_unavailable",
+ "path": "config/apply_unavailable",
+ "title": "config apply is unavailable",
+ "description": "Runtime configuration apply is not available for this deployment.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "config.candidate_invalid",
+ "path": "config/candidate_invalid",
+ "title": "config candidate is invalid",
+ "description": "A submitted runtime configuration candidate failed validation.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential_status.disabled",
+ "path": "credential_status/disabled",
+ "title": "credential status is disabled",
+ "description": "The credential status surface is turned off for this deployment.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential_status.invalid_status",
+ "path": "credential_status/invalid_status",
+ "title": "credential status is invalid",
+ "description": "The requested credential status value is not valid.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential_status.invalid_transition",
+ "path": "credential_status/invalid_transition",
+ "title": "credential status transition is invalid",
+ "description": "The requested status transition is not permitted.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential_status.not_found",
+ "path": "credential_status/not_found",
+ "title": "credential status was not found",
+ "description": "The requested credential status record does not exist.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential_status.unavailable",
+ "path": "credential_status/unavailable",
+ "title": "credential status is unavailable",
+ "description": "Credential status could not be checked at this time.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential.holder_proof_replay",
+ "path": "credential/holder_proof_replay",
+ "title": "holder proof has already been used",
+ "description": "The supplied holder proof was already consumed.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential.holder_proof_required",
+ "path": "credential/holder_proof_required",
+ "title": "holder proof is required",
+ "description": "Credential issuance requires a holder proof that was not supplied.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential.issuance_failed",
+ "path": "credential/issuance_failed",
+ "title": "credential issuance failed",
+ "description": "The credential could not be issued for an internal reason.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "credential.issuer_not_configured",
+ "path": "credential/issuer_not_configured",
+ "title": "credential issuer is not configured",
+ "description": "Credential issuance was requested but no issuer is configured.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "evaluation.binding_mismatch",
+ "path": "evaluation/binding_mismatch",
+ "title": "evaluation binding mismatch",
+ "description": "The referenced evaluation does not match the requested binding.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "evaluation.not_found",
+ "path": "evaluation/not_found",
+ "title": "evaluation was not found",
+ "description": "The referenced evaluation id does not exist.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "evidence.not_available",
+ "path": "evidence/not_available",
+ "title": "evidence is not available",
+ "description": "Evidence could not be produced; also the collapsed public code for several matching-evidence conditions.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "evidence.server_disabled",
+ "path": "evidence/server_disabled",
+ "title": "evidence server is disabled",
+ "description": "The evidence surface is turned off in configuration.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.disabled",
+ "path": "federation/disabled",
+ "title": "federation is disabled",
+ "description": "The federation surface is turned off in configuration.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.forbidden",
+ "path": "federation/forbidden",
+ "title": "federation request is forbidden",
+ "description": "A known federation peer was denied by local policy.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.invalid_request",
+ "path": "federation/invalid_request",
+ "title": "federation request is invalid",
+ "description": "A federation JSON or JWT request failed validation.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.invalid_token",
+ "path": "federation/invalid_token",
+ "title": "federation token is invalid",
+ "description": "A federation request is missing valid authentication or its token failed verification.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.payload_too_large",
+ "path": "federation/payload_too_large",
+ "title": "federation payload is too large",
+ "description": "The federation request body exceeds the configured limit.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.replay",
+ "path": "federation/replay",
+ "title": "federation request was replayed",
+ "description": "A federation `jti` or nonce was already used.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.server_error",
+ "path": "federation/server_error",
+ "title": "federation server error",
+ "description": "The federation request could not be served for an internal reason.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.stale_source_observation",
+ "path": "federation/stale_source_observation",
+ "title": "federation source observation is stale",
+ "description": "The federation source observation is older than policy allows; returned in a signed response body.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "federation.unsupported_media_type",
+ "path": "federation/unsupported_media_type",
+ "title": "federation media type is unsupported",
+ "description": "The federation request used a content type the surface does not accept.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "idempotency.conflict",
+ "path": "idempotency/conflict",
+ "title": "idempotency key was reused with a different request",
+ "description": "The idempotency key was reused with a different request body.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "posture.filter_failed",
+ "path": "posture/filter_failed",
+ "title": "posture filter failed",
+ "description": "A posture report filter could not be evaluated.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "posture.unavailable",
+ "path": "posture/unavailable",
+ "title": "posture state is unavailable",
+ "description": "Posture state could not be read at this time.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "profile.unsupported",
+ "path": "profile/unsupported",
+ "title": "evidence request profile is unsupported",
+ "description": "The requested evidence profile is not supported.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "purpose.not_allowed",
+ "path": "purpose/not_allowed",
+ "title": "purpose is not allowed",
+ "description": "The requested purpose is not permitted for the claim.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "readiness.not_ready",
+ "path": "readiness/not_ready",
+ "title": "service is not ready",
+ "description": "The service is not ready to serve traffic.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "registry.admin.capability.not_supported",
+ "path": "registry/admin/capability/not_supported",
+ "title": "registry admin capability is not supported",
+ "description": "The requested registry administration capability is not supported.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "registry.admin.config.inline_apply_rejected",
+ "path": "registry/admin/config/inline_apply_rejected",
+ "title": "registry admin inline config apply was rejected",
+ "description": "An inline configuration apply was rejected.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "registry.admin.posture.invalid_tier",
+ "path": "registry/admin/posture/invalid_tier",
+ "title": "registry admin posture tier is invalid",
+ "description": "The requested posture tier is not a recognized value.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "relationship.attributes_insufficient",
+ "path": "relationship/attributes_insufficient",
+ "title": "relationship attributes are insufficient for matching",
+ "description": "The supplied attributes cannot resolve a relationship match.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "relationship.match_ambiguous",
+ "path": "relationship/match_ambiguous",
+ "title": "relationship match is ambiguous",
+ "description": "The relationship lookup matched more than one relationship.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "relationship.not_established",
+ "path": "relationship/not_established",
+ "title": "relationship was not established",
+ "description": "The required relationship between requester and target was not found.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "relationship.policy_rejected",
+ "path": "relationship/policy_rejected",
+ "title": "relationship policy rejected the request",
+ "description": "The relationship policy denied the request.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "relationship.purpose_not_allowed",
+ "path": "relationship/purpose_not_allowed",
+ "title": "relationship is not allowed for the requested purpose",
+ "description": "The relationship cannot be used for the requested purpose.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "request.conflict",
+ "path": "request/conflict",
+ "title": "request conflicts with current state",
+ "description": "OpenAPI contract umbrella example for 409 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `idempotency.conflict` or `target.match_ambiguous`.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-notary-openapi",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "request.invalid",
+ "path": "request/invalid",
+ "title": "evidence request is invalid",
+ "description": "The request body or parameters failed validation.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "request.too_large",
+ "path": "request/too_large",
+ "title": "request is too large",
+ "description": "OpenAPI contract umbrella example for 413 responses; not emitted verbatim at runtime. Runtime responses use specific codes such as `batch.too_large` or `federation.payload_too_large`.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-notary-openapi",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "request.uri_too_long",
+ "path": "request/uri_too_long",
+ "title": "request uri is too long",
+ "description": "The request URI exceeds the configured limit.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "requester.attributes_insufficient",
+ "path": "requester/attributes_insufficient",
+ "title": "requester attributes are insufficient for matching",
+ "description": "The supplied requester attributes cannot resolve a match.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "requester.identifier_missing",
+ "path": "requester/identifier_missing",
+ "title": "requester identifier is missing",
+ "description": "The request omits a required requester identifier.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "requester.match_ambiguous",
+ "path": "requester/match_ambiguous",
+ "title": "requester lookup returned more than one record",
+ "description": "The requester lookup matched more than one record.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "requester.matching_policy_rejected",
+ "path": "requester/matching_policy_rejected",
+ "title": "requester matching policy rejected the request",
+ "description": "The requester matching policy denied the request.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "requester.not_found",
+ "path": "requester/not_found",
+ "title": "requester record was not found",
+ "description": "The requester lookup matched no record.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "requester.reauthentication_required",
+ "path": "requester/reauthentication_required",
+ "title": "requester must reauthenticate",
+ "description": "The requester needs to authenticate again before the request can proceed.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "self_attestation.denied",
+ "path": "self_attestation/denied",
+ "title": "self-attestation request is denied",
+ "description": "A self-attestation request was denied; also the public code for invalid-token and assurance-denied conditions. The audit record carries the specific reason.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "self_attestation.rate_limited",
+ "path": "self_attestation/rate_limited",
+ "title": "self-attestation request is rate limited",
+ "description": "Too many self-attestation requests in the configured window.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "source.unavailable",
+ "path": "source/unavailable",
+ "title": "source is unavailable",
+ "description": "A configured source service could not be reached or did not respond.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "target.attributes_insufficient",
+ "path": "target/attributes_insufficient",
+ "title": "target attributes are insufficient for matching",
+ "description": "The supplied target attributes cannot resolve a match.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "target.identifier_missing",
+ "path": "target/identifier_missing",
+ "title": "target identifier is missing",
+ "description": "The request omits a required target identifier.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "target.match_ambiguous",
+ "path": "target/match_ambiguous",
+ "title": "target lookup returned more than one record",
+ "description": "The target lookup matched more than one source record.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "target.match_low_confidence",
+ "path": "target/match_low_confidence",
+ "title": "target match confidence is too low",
+ "description": "The best target match scored below the configured threshold.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "target.matching_policy_rejected",
+ "path": "target/matching_policy_rejected",
+ "title": "target matching policy rejected the request",
+ "description": "The target matching policy denied the request.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "target.not_found",
+ "path": "target/not_found",
+ "title": "target record was not found",
+ "description": "The target lookup matched no source record.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-notary",
+ "code": "target.not_in_valid_state",
+ "path": "target/not_in_valid_state",
+ "title": "target is not in a valid state",
+ "description": "The matched target is not in a state that allows evaluation.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-notary",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-platform",
+ "code": "request.body_too_large",
+ "path": "request/body-too-large",
+ "title": "Payload Too Large",
+ "description": "The request body exceeds the configured limit. Published as a problem `type` only: the platform HTTP-security layer does not attach a `code` member to this response.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-platform",
+ "http_statuses": null,
+ "source": "registry-platform-httpsec",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "admin.reload_failed",
+ "path": "admin/reload_failed",
+ "title": "reload failed",
+ "description": "One or more resources failed to reload.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "admin.unknown_resource",
+ "path": "admin/unknown_resource",
+ "title": "unknown admin resource",
+ "description": "The reload target id was not found.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate-data.denied",
+ "path": "aggregate-data/denied",
+ "title": "Aggregate data access is not permitted",
+ "description": "aggregate data access is not permitted",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 403
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate-data.invalid_request",
+ "path": "aggregate-data/invalid_request",
+ "title": "Aggregate data request is invalid",
+ "description": "the aggregate data request is invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate-data.rate_limited",
+ "path": "aggregate-data/rate_limited",
+ "title": "Aggregate data quota is exhausted",
+ "description": "the aggregate data quota is exhausted",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 429
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate-data.too_large",
+ "path": "aggregate-data/too_large",
+ "title": "Aggregate data request is too broad",
+ "description": "the aggregate data request exceeds its observation limit",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 413
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate.disclosure_violation",
+ "path": "aggregate/disclosure_violation",
+ "title": "disclosure violation",
+ "description": "A disclosure-control invariant was violated before response.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate.execution_failed",
+ "path": "aggregate/execution_failed",
+ "title": "aggregate execution failed",
+ "description": "The query engine returned an execution error.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate.filter_required",
+ "path": "aggregate/filter_required",
+ "title": "filter required",
+ "description": "A required aggregate filter was not supplied.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate.format_unsupported",
+ "path": "aggregate/format_unsupported",
+ "title": "aggregate format unsupported",
+ "description": "The requested aggregate response format is not supported.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "aggregate.measure_unsupported",
+ "path": "aggregate/measure_unsupported",
+ "title": "aggregate measure unsupported",
+ "description": "A configured measure references a function that is not implemented.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "audit.unavailable",
+ "path": "audit/unavailable",
+ "title": "Required audit is unavailable",
+ "description": "required audit is unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.admin_required",
+ "path": "auth/admin_required",
+ "title": "admin scope required",
+ "description": "The endpoint requires the admin scope.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.algorithm_not_allowed",
+ "path": "auth/algorithm_not_allowed",
+ "title": "algorithm not allowed",
+ "description": "The bearer token `alg` is not in the configured allowlist.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.audience_mismatch",
+ "path": "auth/audience_mismatch",
+ "title": "audience mismatch",
+ "description": "The bearer token `aud` does not intersect the configured audience set.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.client_not_allowed",
+ "path": "auth/client_not_allowed",
+ "title": "client not allowed",
+ "description": "The bearer token client is not in the configured `allowed_clients` list.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.invalid_credential",
+ "path": "auth/invalid_credential",
+ "title": "Bearer access token is invalid",
+ "description": "bearer access token validation failed",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 401
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.issuer_mismatch",
+ "path": "auth/issuer_mismatch",
+ "title": "issuer mismatch",
+ "description": "The bearer token `iss` does not equal the configured issuer.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.jwks_unavailable",
+ "path": "auth/jwks_unavailable",
+ "title": "jwks unavailable",
+ "description": "The JWKS endpoint is unreachable and no cached keys are available.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.kid_unknown",
+ "path": "auth/kid_unknown",
+ "title": "kid unknown",
+ "description": "The bearer token `kid` is not in the JWKS document after one refresh.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.malformed_credential",
+ "path": "auth/malformed_credential",
+ "title": "malformed credential",
+ "description": "The credential header could not be parsed.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.missing_credential",
+ "path": "auth/missing_credential",
+ "title": "Bearer access token is required",
+ "description": "a bearer access token is required",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 401
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.purpose_denied",
+ "path": "auth/purpose_denied",
+ "title": "purpose denied",
+ "description": "The `Data-Purpose` header is not permitted by policy for the resource.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.purpose_required",
+ "path": "auth/purpose_required",
+ "title": "purpose header required",
+ "description": "The `Data-Purpose` header is required for the resource.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.scope_denied",
+ "path": "auth/scope_denied",
+ "title": "scope denied",
+ "description": "The caller lacks the required scope.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.token_expired",
+ "path": "auth/token_expired",
+ "title": "token expired",
+ "description": "The bearer token `exp` is in the past beyond the configured leeway.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.token_not_yet_valid",
+ "path": "auth/token_not_yet_valid",
+ "title": "token not yet valid",
+ "description": "The bearer token `nbf` is in the future beyond the configured leeway.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "auth.token_signature_invalid",
+ "path": "auth/token_signature_invalid",
+ "title": "token signature invalid",
+ "description": "The bearer token signature did not verify against the resolved key.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "config.duplicate_id",
+ "path": "config/duplicate_id",
+ "title": "duplicate identifier in config",
+ "description": "Two configured ids collide.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "config.missing_secret",
+ "path": "config/missing_secret",
+ "title": "missing secret",
+ "description": "A required hash environment variable is unset.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "config.parse_error",
+ "path": "config/parse_error",
+ "title": "config parse error",
+ "description": "The configuration document did not deserialize.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "config.validation_error",
+ "path": "config/validation_error",
+ "title": "config validation error",
+ "description": "The configuration failed cross-field validation.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "consultation.denied",
+ "path": "consultation/denied",
+ "title": "Consultation is not permitted",
+ "description": "the consultation is not permitted",
"kind": "problem",
"status": "active",
"compatibility_line": "relay-v2",
"owner": "relay-v2",
"http_statuses": [
- 401
+ 403
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "consultation.invalid_request",
+ "path": "consultation/invalid_request",
+ "title": "Consultation request is invalid",
+ "description": "the consultation request is invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "consultation.rate_limited",
+ "path": "consultation/rate_limited",
+ "title": "Consultation quota is exhausted",
+ "description": "the consultation quota is exhausted",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 429
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "consultation.response_too_large",
+ "path": "consultation/response_too_large",
+ "title": "Consultation response is too large",
+ "description": "the consultation response exceeds the configured limit",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 413
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "consultation.unresolved",
+ "path": "consultation/unresolved",
+ "title": "Requested record was not resolved",
+ "description": "the requested record was not resolved",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 404
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "entity.filter_required",
+ "path": "entity/filter_required",
+ "title": "filter required",
+ "description": "A row-collection read on an entity with `required_filters` received no qualifying filter.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.invalid_range",
+ "path": "filter/invalid_range",
+ "title": "invalid range",
+ "description": "The range bounds are inverted or invalid.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.invalid_value",
+ "path": "filter/invalid_value",
+ "title": "Filter value is invalid",
+ "description": "filter value is invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.limit_out_of_range",
+ "path": "filter/limit_out_of_range",
+ "title": "limit out of range",
+ "description": "The limit exceeds the configured maximum or is non-positive.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.not_allowed",
+ "path": "filter/not_allowed",
+ "title": "filter not allowed",
+ "description": "The field is not in the resource's `allowed_filters` list.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.too_many_filters",
+ "path": "filter/too_many_filters",
+ "title": "too many filters",
+ "description": "The request carries more filter parameters than the per-request cap allows.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.too_many_values",
+ "path": "filter/too_many_values",
+ "title": "too many filter values",
+ "description": "An in-list exceeds the configured maximum of 100 values.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.unknown_field",
+ "path": "filter/unknown_field",
+ "title": "Filter is not declared",
+ "description": "filter is not declared for this operation",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-relay-http-contract/src/lib.rs",
+ "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "filter.unsupported_op",
+ "path": "filter/unsupported_op",
+ "title": "unsupported operator",
+ "description": "The operator is not allowed for the field.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "format.unsupported",
+ "path": "format/unsupported",
+ "title": "Requested format is not supported",
+ "description": "the requested format is not supported",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "relay-v2",
+ "owner": "relay-v2",
+ "http_statuses": [
+ 406
],
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
"product": "registry-relay",
- "code": "consultation.denied",
- "path": "consultation/denied",
- "title": "Consultation is not permitted",
- "description": "the consultation is not permitted",
+ "code": "ingest.cache_write_failed",
+ "path": "ingest/cache_write_failed",
+ "title": "cache write failed",
+ "description": "The parquet cache could not be written.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ingest.registration_failed",
+ "path": "ingest/registration_failed",
+ "title": "table registration failed",
+ "description": "Table registration in the query engine failed.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ingest.schema_mismatch",
+ "path": "ingest/schema_mismatch",
+ "title": "schema mismatch",
+ "description": "The declared schema does not match observed columns or types.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ingest.source_not_found",
+ "path": "ingest/source_not_found",
+ "title": "source not found",
+ "description": "A configured source is missing or unreadable.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ingest.source_unreadable",
+ "path": "ingest/source_unreadable",
+ "title": "source unreadable",
+ "description": "A source could not be read or parsed.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ingest.strict_extra_column",
+ "path": "ingest/strict_extra_column",
+ "title": "strict schema rejected extra column",
+ "description": "A source contains columns absent from a strict schema.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "internal.payload_too_large",
+ "path": "internal/payload_too_large",
+ "title": "Request body is too large",
+ "description": "request body exceeds the configured limit",
"kind": "problem",
"status": "active",
"compatibility_line": "relay-v2",
"owner": "relay-v2",
"http_statuses": [
- 403
+ 413
],
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
"product": "registry-relay",
- "code": "consultation.invalid_request",
- "path": "consultation/invalid_request",
- "title": "Consultation request is invalid",
- "description": "the consultation request is invalid",
+ "code": "internal.timeout",
+ "path": "internal/timeout",
+ "title": "Request timed out",
+ "description": "request exceeded the configured timeout",
"kind": "problem",
"status": "active",
"compatibility_line": "relay-v2",
"owner": "relay-v2",
"http_statuses": [
- 400
+ 504
],
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
"product": "registry-relay",
- "code": "consultation.rate_limited",
- "path": "consultation/rate_limited",
- "title": "Consultation quota is exhausted",
- "description": "the consultation quota is exhausted",
+ "code": "internal.unhandled",
+ "path": "internal/unhandled",
+ "title": "Request could not be served",
+ "description": "the request could not be served",
"kind": "problem",
"status": "active",
"compatibility_line": "relay-v2",
"owner": "relay-v2",
"http_statuses": [
- 429
+ 500
],
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
"product": "registry-relay",
- "code": "consultation.response_too_large",
- "path": "consultation/response_too_large",
- "title": "Consultation response is too large",
- "description": "the consultation response exceeds the configured limit",
+ "code": "internal.uri_too_long",
+ "path": "internal/uri_too_long",
+ "title": "Request URI is too long",
+ "description": "request URI exceeds the configured limit",
"kind": "problem",
"status": "active",
"compatibility_line": "relay-v2",
"owner": "relay-v2",
"http_statuses": [
- 413
+ 414
],
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
{
"product": "registry-relay",
- "code": "consultation.unresolved",
- "path": "consultation/unresolved",
- "title": "Requested record was not resolved",
- "description": "the requested record was not resolved",
+ "code": "metadata.manifest.digest_invalid",
+ "path": "metadata/manifest/digest_invalid",
+ "title": "metadata manifest digest invalid",
+ "description": "The manifest digest is not valid.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 404
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_mismatch",
+ "path": "metadata/manifest/digest_mismatch",
+ "title": "metadata manifest digest mismatch",
+ "description": "The manifest digest did not match the configured digest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "metadata.manifest.digest_required",
+ "path": "metadata/manifest/digest_required",
+ "title": "metadata manifest digest required",
+ "description": "Governed configuration requires a manifest digest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "metadata.manifest.file_not_found",
+ "path": "metadata/manifest/file_not_found",
+ "title": "metadata manifest file not found",
+ "description": "The metadata manifest could not be read.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "metadata.manifest.parse_failed",
+ "path": "metadata/manifest/parse_failed",
+ "title": "metadata manifest parse failed",
+ "description": "The metadata manifest did not deserialize.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "metadata.manifest.validation_failed",
+ "path": "metadata/manifest/validation_failed",
+ "title": "metadata manifest validation failed",
+ "description": "The manifest failed semantic validation.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "metadata.manifest.version_unsupported",
+ "path": "metadata/manifest/version_unsupported",
+ "title": "metadata manifest version unsupported",
+ "description": "The manifest `schema_version` is not supported.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ogc.collection_not_found",
+ "path": "ogc/collection_not_found",
+ "title": "ogc collection not found",
+ "description": "The collection is not registered, spatially exposed, or visible to the caller.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ogc.feature_not_found",
+ "path": "ogc/feature_not_found",
+ "title": "ogc feature not found",
+ "description": "The feature is not registered, visible, or within the required filter context.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ogc.record_not_found",
+ "path": "ogc/record_not_found",
+ "title": "ogc record not found",
+ "description": "The record is not registered or visible to the caller.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ogcapi.edr.config.feature_disabled",
+ "path": "ogcapi/edr/config/feature_disabled",
+ "title": "ogc api edr feature disabled",
+ "description": "OGC API EDR config was set but the binary lacks the feature.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ogcapi.features.config.feature_disabled",
+ "path": "ogcapi/features/config/feature_disabled",
+ "title": "ogc api features feature disabled",
+ "description": "OGC API Features config was set but the binary lacks the feature.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "ogcapi.records.config.feature_disabled",
+ "path": "ogcapi/records/config/feature_disabled",
+ "title": "ogc api records feature disabled",
+ "description": "OGC API Records config was set but the binary lacks the feature.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.assurance_insufficient",
+ "path": "pdp/assurance_insufficient",
+ "title": "assurance insufficient",
+ "description": "The request assurance is insufficient for policy.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.consent_required",
+ "path": "pdp/consent_required",
+ "title": "consent required",
+ "description": "The policy requires a consent reference the request did not carry.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.evidence_stale",
+ "path": "pdp/evidence_stale",
+ "title": "evidence stale",
+ "description": "The source evidence is too old for policy.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.jurisdiction_not_permitted",
+ "path": "pdp/jurisdiction_not_permitted",
+ "title": "jurisdiction not permitted",
+ "description": "The request jurisdiction is not permitted by policy.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.legal_basis_required",
+ "path": "pdp/legal_basis_required",
+ "title": "legal basis required",
+ "description": "The policy requires a legal basis the request did not carry.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.policy_hash_invalid",
+ "path": "pdp/policy_hash_invalid",
+ "title": "policy hash invalid",
+ "description": "The policy hash did not validate.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.policy_id_required",
+ "path": "pdp/policy_id_required",
+ "title": "policy id required",
+ "description": "The policy identity is required but absent.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.policy_required",
+ "path": "pdp/policy_required",
+ "title": "policy required",
+ "description": "An enforceable policy constraint is required but absent.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.purpose_not_permitted",
+ "path": "pdp/purpose_not_permitted",
+ "title": "purpose not permitted",
+ "description": "The request purpose is not permitted by policy.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "pdp.unsupported_policy_term",
+ "path": "pdp/unsupported_policy_term",
+ "title": "unsupported policy term",
+ "description": "The policy contains a term the service cannot enforce.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "provenance.config.algorithm_unsupported",
+ "path": "provenance/config/algorithm_unsupported",
+ "title": "provenance signing algorithm unsupported",
+ "description": "`signing_algorithm` is not EdDSA or ES256.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "provenance.config.claim_validity_out_of_range",
+ "path": "provenance/config/claim_validity_out_of_range",
+ "title": "provenance claim validity out of range",
+ "description": "Claim validity is below 1 minute or above 365 days.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "provenance.config.context_base_url_invalid",
+ "path": "provenance/config/context_base_url_invalid",
+ "title": "provenance context base url invalid",
+ "description": "`context_base_url` is not a valid http or https URL.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "provenance.config.issuer_did_mismatch",
+ "path": "provenance/config/issuer_did_mismatch",
+ "title": "provenance issuer did mismatch",
+ "description": "The configured issuer DID does not match the deployment host.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "provenance.config.jwk_env_missing",
+ "path": "provenance/config/jwk_env_missing",
+ "title": "provenance jwk_env missing",
+ "description": "The configured signing key material is unavailable.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "provenance.config.missing_issuer",
+ "path": "provenance/config/missing_issuer",
+ "title": "provenance issuer missing",
+ "description": "Provenance is enabled but no issuer block resolved.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "provenance.config.schema_base_url_invalid",
+ "path": "provenance/config/schema_base_url_invalid",
+ "title": "provenance schema base url invalid",
+ "description": "`schema_base_url` is not a valid http or https URL.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
"product": "registry-relay",
- "code": "filter.invalid_value",
- "path": "filter/invalid_value",
- "title": "Filter value is invalid",
- "description": "filter value is invalid",
+ "code": "provenance.config.signer_kind_invalid",
+ "path": "provenance/config/signer_kind_invalid",
+ "title": "provenance signer kind invalid",
+ "description": "The signer kind is not `software` or `file_watch`.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 400
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
"product": "registry-relay",
- "code": "filter.unknown_field",
- "path": "filter/unknown_field",
- "title": "Filter is not declared",
- "description": "filter is not declared for this operation",
+ "code": "provenance.config.verification_method_mismatch",
+ "path": "provenance/config/verification_method_mismatch",
+ "title": "provenance verification method mismatch",
+ "description": "`verification_method_id` does not start with the issuer DID plus a fragment.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 400
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
"product": "registry-relay",
- "code": "format.unsupported",
- "path": "format/unsupported",
- "title": "Requested format is not supported",
- "description": "the requested format is not supported",
+ "code": "provenance.did_document_unavailable",
+ "path": "provenance/did_document_unavailable",
+ "title": "provenance did document unavailable",
+ "description": "The deployment does not host a `did:web` document.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 406
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
"product": "registry-relay",
- "code": "internal.payload_too_large",
- "path": "internal/payload_too_large",
- "title": "Request body is too large",
- "description": "request body exceeds the configured limit",
+ "code": "provenance.issuance_failed",
+ "path": "provenance/issuance_failed",
+ "title": "provenance issuance failed",
+ "description": "The request could not be served as a verifiable credential.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 413
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
"product": "registry-relay",
- "code": "internal.timeout",
- "path": "internal/timeout",
- "title": "Request timed out",
- "description": "request exceeded the configured timeout",
+ "code": "provenance.signer_unavailable",
+ "path": "provenance/signer_unavailable",
+ "title": "provenance signer unavailable",
+ "description": "The configured signing backend is not currently available.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 504
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
"product": "registry-relay",
- "code": "internal.unhandled",
- "path": "internal/unhandled",
- "title": "Request could not be served",
- "description": "the request could not be served",
+ "code": "provenance.unknown_resource",
+ "path": "provenance/unknown_resource",
+ "title": "provenance unknown claim type or version",
+ "description": "No resource is registered for the requested claim type or version.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 500
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
"product": "registry-relay",
- "code": "internal.uri_too_long",
- "path": "internal/uri_too_long",
- "title": "Request URI is too long",
- "description": "request URI exceeds the configured limit",
+ "code": "publicschema.config.feature_disabled",
+ "path": "publicschema/config/feature_disabled",
+ "title": "publicschema cel feature disabled",
+ "description": "PublicSchema CEL mapping was configured but the binary lacks the feature.",
"kind": "problem",
- "status": "active",
- "compatibility_line": "relay-v2",
- "owner": "relay-v2",
- "http_statuses": [
- 414
- ],
- "source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
"source_reference": {
- "repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
- "path": "crates/registry-relay-http-contract/src/lib.rs",
- "sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
},
{
@@ -1110,7 +4743,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -1131,7 +4764,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -1152,7 +4785,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -1173,7 +4806,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -1194,11 +4827,277 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
},
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.dataset_missing",
+ "path": "runtime/binding/dataset_missing",
+ "title": "runtime dataset missing from metadata",
+ "description": "A runtime dataset id is absent from the metadata manifest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.ecosystem_binding_invalid",
+ "path": "runtime/binding/ecosystem_binding_invalid",
+ "title": "runtime ecosystem binding is invalid",
+ "description": "The ecosystem binding does not reference a governed-evidence binding with policy identity and ODRL enforcement.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.ecosystem_binding_missing",
+ "path": "runtime/binding/ecosystem_binding_missing",
+ "title": "runtime ecosystem binding missing from metadata",
+ "description": "The configured ecosystem binding selector is absent from the metadata manifest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.entity_missing",
+ "path": "runtime/binding/entity_missing",
+ "title": "runtime entity missing from metadata",
+ "description": "A runtime entity name is absent from the metadata manifest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.field_missing",
+ "path": "runtime/binding/field_missing",
+ "title": "runtime field missing from metadata",
+ "description": "A runtime field binding is absent from the metadata manifest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.filter_missing",
+ "path": "runtime/binding/filter_missing",
+ "title": "runtime filter missing from metadata",
+ "description": "A runtime filter binding is absent from the metadata manifest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.relationship_missing",
+ "path": "runtime/binding/relationship_missing",
+ "title": "runtime relationship missing from metadata",
+ "description": "A runtime relationship binding is absent from the metadata manifest.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.scope_missing",
+ "path": "runtime/binding/scope_missing",
+ "title": "runtime scope missing or invalid",
+ "description": "A runtime scope is missing or uses an unsupported shape.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.table_missing",
+ "path": "runtime/binding/table_missing",
+ "title": "runtime table missing",
+ "description": "A runtime entity references a table that is not configured.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "runtime.binding.unsupported_evidence_offering",
+ "path": "runtime/binding/unsupported_evidence_offering",
+ "title": "runtime evidence offering kind is unsupported",
+ "description": "An evidence offering is not an external Registry Notary offering.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "schema.resource_unavailable",
+ "path": "schema/resource_unavailable",
+ "title": "resource unavailable",
+ "description": "The resource is configured but failed ingest or is mid-reload.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "schema.unknown_aggregate",
+ "path": "schema/unknown_aggregate",
+ "title": "unknown aggregate",
+ "description": "The aggregate id is not declared for the resource.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "schema.unknown_dataset",
+ "path": "schema/unknown_dataset",
+ "title": "unknown dataset",
+ "description": "The dataset id is not registered.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "schema.unknown_resource",
+ "path": "schema/unknown_resource",
+ "title": "unknown resource",
+ "description": "The resource id is not registered under the dataset.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
{
"product": "registry-relay",
"code": "service.not_ready",
@@ -1215,7 +5114,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -1236,10 +5135,219 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
+ },
+ {
+ "product": "registry-relay",
+ "code": "spatial.bbox_invalid",
+ "path": "spatial/bbox_invalid",
+ "title": "spatial bbox invalid",
+ "description": "The bbox parameter is malformed, uses an unsupported shape, or crosses the antimeridian.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spatial.crs_unsupported",
+ "path": "spatial/crs_unsupported",
+ "title": "spatial crs unsupported",
+ "description": "The requested coordinate reference system is not supported.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spatial.filter_unsupported",
+ "path": "spatial/filter_unsupported",
+ "title": "spatial filter unsupported",
+ "description": "A supported parameter cannot be evaluated for the collection.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spatial.geometry_invalid",
+ "path": "spatial/geometry_invalid",
+ "title": "spatial geometry invalid",
+ "description": "The geometry field is malformed.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spatial.geometry_too_large",
+ "path": "spatial/geometry_too_large",
+ "title": "spatial geometry too large",
+ "description": "The geometry exceeds the configured vertex limit.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spdci.config.feature_disabled",
+ "path": "spdci/config/feature_disabled",
+ "title": "spdci api standards feature disabled",
+ "description": "SP DCI standards adapters were configured but the binary lacks the feature.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spdci.config.mapping_feature_disabled",
+ "path": "spdci/config/mapping_feature_disabled",
+ "title": "spdci cel mapping feature disabled",
+ "description": "SP DCI response mapping was configured but the binary lacks the feature.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spdci.mapper.unavailable",
+ "path": "spdci/mapper/unavailable",
+ "title": "spdci response mapper unavailable",
+ "description": "Response mapping is configured but the mapper extension is not installed.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spdci.request.invalid_header",
+ "path": "spdci/request/invalid_header",
+ "title": "invalid spdci header",
+ "description": "The request header is missing or omits a required SP DCI field.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spdci.request.invalid_message",
+ "path": "spdci/request/invalid_message",
+ "title": "invalid spdci message",
+ "description": "The request message is missing or not an object.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
+ },
+ {
+ "product": "registry-relay",
+ "code": "spdci.request.missing_transaction_id",
+ "path": "spdci/request/missing_transaction_id",
+ "title": "missing transaction_id",
+ "description": "`message.transaction_id` is absent or empty.",
+ "kind": "problem",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "http_statuses": null,
+ "source": "registry-stack/docs/site/src/content/docs/reference/errors.mdx",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "e683cb7c12e4607f6db483d15046e1fba91efd96",
+ "path": "src/catalogs/problems.json",
+ "sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
+ }
}
]
}
diff --git a/src/catalogs/profiles.json b/src/catalogs/profiles.json
index 00e9c54c..33a110ee 100644
--- a/src/catalogs/profiles.json
+++ b/src/catalogs/profiles.json
@@ -11,7 +11,7 @@
"source": "src/artifacts/sha256/f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe.md",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/profile/registry-record-v1.md",
"sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
},
diff --git a/src/catalogs/schemas.json b/src/catalogs/schemas.json
index 63109dc6..dd29b06e 100644
--- a/src/catalogs/schemas.json
+++ b/src/catalogs/schemas.json
@@ -8,15 +8,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "breg",
- "source": "src/artifacts/sha256/6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f.json",
+ "source": "src/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
- "artifact_sha256": "6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f.json"
+ "artifact_sha256": "42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json"
},
{
"uri": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
@@ -26,15 +26,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "breg",
- "source": "src/artifacts/sha256/f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e.json",
+ "source": "src/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
- "artifact_sha256": "f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e.json"
+ "artifact_sha256": "2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json"
},
{
"uri": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
@@ -44,15 +44,33 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "breg",
- "source": "src/artifacts/sha256/76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d.json",
+ "source": "src/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
- "artifact_sha256": "76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d.json"
+ "artifact_sha256": "c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json"
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
+ "title": "Registry Casework runtime configuration",
+ "description": "Registry Casework runtime configuration JSON Schema.",
+ "kind": "schema",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "source": "src/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "path": "crates/registry-casework/src/schema.rs",
+ "sha256": "e7694b4e5247f8fa7f49f05a65811e740eaa4c960f41d967508bba29e5c437d9"
+ },
+ "artifact_sha256": "74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json"
},
{
"uri": "https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json",
@@ -65,7 +83,7 @@
"source": "src/artifacts/sha256/e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/identifiers/contracts/catalog.v1.schema.json",
"sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d"
},
@@ -83,13 +101,31 @@
"source": "src/artifacts/sha256/31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/schema/registry-record-v1.schema.json",
"sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e"
},
"artifact_sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e",
"immutable_uri": "https://id.registrystack.org/artifacts/sha256/31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e.json"
},
+ {
+ "uri": "https://id.registrystack.org/schemas/registry-relay/aggregate-result/v1.json",
+ "title": "Registry Relay AggregateResult v1 schema",
+ "description": "JSON Schema for Registry Relay AggregateResult credential subjects.",
+ "kind": "schema",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/schemas.json",
+ "sha256": "9889ad6214e16595e576f40d04c3951faaa142785ab62033de7ffb06ab4b03d3"
+ },
+ "source": "src/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json",
+ "artifact_sha256": "5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/5f5978063cd87e72f2de1e758629ce7a2de85895b827b2f680f2368035609a86.json"
+ },
{
"uri": "https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1",
"title": "Registry Relay value-free audit event",
@@ -101,7 +137,7 @@
"source": "src/artifacts/sha256/e2b2be3baabb1c5f147a4095eade0d85702d814ec93049b62208fdd7ab1265b8.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/artifacts.rs",
"sha256": "7feb222632ac997903c8809e190fa0c008bf17790e39fa075fc10c3fd3e0bec1"
},
@@ -119,7 +155,7 @@
"source": "src/artifacts/sha256/c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relayctl/schemas/authoring/registry.schema.json",
"sha256": "c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5"
},
@@ -137,12 +173,30 @@
"source": "src/artifacts/sha256/9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relayctl/schemas/authoring/runtime.schema.json",
"sha256": "9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b"
},
"artifact_sha256": "9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b",
"immutable_uri": "https://id.registrystack.org/artifacts/sha256/9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b.json"
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/registry-relay/entity-record/v1.json",
+ "title": "Registry Relay EntityRecord v1 schema",
+ "description": "JSON Schema for Registry Relay EntityRecord credential subjects.",
+ "kind": "schema",
+ "status": "deprecated",
+ "compatibility_line": "legacy",
+ "owner": "registry-relay",
+ "source_reference": {
+ "repository": "registrystack-id",
+ "commit": "437113edfd7e922cf44ef81ff0d6732fa4d207ca",
+ "path": "src/catalogs/schemas.json",
+ "sha256": "9889ad6214e16595e576f40d04c3951faaa142785ab62033de7ffb06ab4b03d3"
+ },
+ "source": "src/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json",
+ "artifact_sha256": "42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json"
}
]
}
diff --git a/src/catalogs/vocabularies.json b/src/catalogs/vocabularies.json
index c0ed5198..fd1a2113 100644
--- a/src/catalogs/vocabularies.json
+++ b/src/catalogs/vocabularies.json
@@ -10,7 +10,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -25,9 +25,9 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/relay-v2/CONCEPT.md",
- "sha256": "5a60dadc119db6869534f2087ca817fe68f86625d3a48510eb26f99774fd62ed"
+ "sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
}
},
{
@@ -40,7 +40,7 @@
"owner": "registry-record",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "products/registry-record/context/registry-record-v1.jsonld",
"sha256": "9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71"
}
diff --git a/src/catalogs/vocabulary-terms.json b/src/catalogs/vocabulary-terms.json
index 4bdba326..32a2d822 100644
--- a/src/catalogs/vocabulary-terms.json
+++ b/src/catalogs/vocabulary-terms.json
@@ -10,7 +10,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -25,7 +25,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -40,7 +40,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -55,7 +55,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
diff --git a/src/upstream/catalog.v1.json b/src/upstream/catalog.v1.json
index f4add995..d6c40604 100644
--- a/src/upstream/catalog.v1.json
+++ b/src/upstream/catalog.v1.json
@@ -394,6 +394,766 @@
]
}
},
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/absence/cover-cycle",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Absence cover cycle",
+ "description": "Choose cover assignments that do not return to an earlier person during a shared period.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "absence.cover-cycle",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/absence/invalid-period",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Invalid absence period",
+ "description": "Set until later than from.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "absence.invalid-period",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/absence/overlap",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Absence period overlaps",
+ "description": "Adjust the period so this person has no overlapping absence.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "absence.overlap",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/absence/self-cover",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Absence self-cover not allowed",
+ "description": "Choose a different staff member as cover.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "absence.self-cover",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/authentication/refused",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Authentication refused",
+ "description": "The bearer credential is missing, invalid, or expired. Sign in again.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "authentication.refused",
+ "httpStatuses": [
+ 401
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/clock/recompute-preview-expired",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Clock recompute preview expired",
+ "description": "Create a new recompute preview and review it before applying.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "clock.recompute-preview-expired",
+ "httpStatuses": [
+ 410
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/cursor/expired",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Cursor expired",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "cursor.expired",
+ "httpStatuses": [
+ 410
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/cursor/invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Cursor invalid",
+ "description": "The cursor is invalid for this request.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "cursor.invalid",
+ "httpStatuses": [
+ 400
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/idempotency/expired",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Idempotency window expired",
+ "description": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "idempotency.expired",
+ "httpStatuses": [
+ 410
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Idempotency key reused",
+ "description": "This idempotency key was used for a different request.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "idempotency.key-reused",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/operation/not-authorized",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Operation not authorized",
+ "description": "Your current Casework authority does not allow this operation.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "operation.not-authorized",
+ "httpStatuses": [
+ 403
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/precondition/failed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Precondition failed",
+ "description": "The item or directory changed since you loaded it. Reload and try again.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "precondition.failed",
+ "httpStatuses": [
+ 412
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/precondition/required",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Precondition required",
+ "description": "This mutation requires the revision that you loaded.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "precondition.required",
+ "httpStatuses": [
+ 428
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Profile not authorized",
+ "description": "The selected Casework profile does not authorize this request.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "profile.not-authorized",
+ "httpStatuses": [
+ 403
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/profile/not-human",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Human session required",
+ "description": "This action is reserved for a human session.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "profile.not-human",
+ "httpStatuses": [
+ 403
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/body-too-large",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Request body too large",
+ "description": "The request body exceeds the one MiB limit.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.body-too-large",
+ "httpStatuses": [
+ 413
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Invalid request",
+ "description": "The Casework request is invalid.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.invalid",
+ "httpStatuses": [
+ 400
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Method not allowed",
+ "description": "This route does not accept that HTTP method.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.method-not-allowed",
+ "httpStatuses": [
+ 405
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/not-found",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Route not found",
+ "description": "The requested Casework route does not exist.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.not-found",
+ "httpStatuses": [
+ 404
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/reason-unsupported",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Reason not supported",
+ "description": "The reason field is not supported for approve or apply on this source. Omit it and try again.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.reason-unsupported",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/source-rejected",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Source rejected request",
+ "description": "The source refused the request body. Fix the request before trying again.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.source-rejected",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/unprocessable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Request could not be processed",
+ "description": "The request body does not match the Casework contract.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.unprocessable",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Unsupported media type",
+ "description": "Send a JSON request body with Content-Type application/json.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "request.unsupported-media-type",
+ "httpStatuses": [
+ 415
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Casework runtime failure",
+ "description": "Casework could not complete the request.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "runtime.failure",
+ "httpStatuses": [
+ 500
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Casework service unavailable",
+ "description": "Casework storage is unavailable. Try again after the service recovers.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "service.unavailable",
+ "httpStatuses": [
+ 503
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Source profile not applicable",
+ "description": "Omit the Registry-Source-Profile header for this request.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "source-profile.not-applicable",
+ "httpStatuses": [
+ 400
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Source profile required",
+ "description": "Send the Registry-Source-Profile header to select the source profile for this request.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "source-profile.required",
+ "httpStatuses": [
+ 400
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Invalid source response",
+ "description": "The source returned a response that does not match its registered contract.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "source.bad-gateway",
+ "httpStatuses": [
+ 502
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/source/not-found",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Source not found",
+ "description": "The requested source is not registered.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "source.not-found",
+ "httpStatuses": [
+ 404
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/source/record-missing",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Source record missing",
+ "description": "The bound source record is no longer at the registered location.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "source.record-missing",
+ "httpStatuses": [
+ 404
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/source/reviewer-not-authorized",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Source reviewer not authorized",
+ "description": "The source refused the reviewer binding. Check the selected source profile and credential.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "source.reviewer-not-authorized",
+ "httpStatuses": [
+ 403
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/source/signature-invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Source signature invalid",
+ "description": "The event's signature did not verify.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "source.signature-invalid",
+ "httpStatuses": [
+ 400
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/already-claimed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item already claimed",
+ "description": "Someone else claimed this item a moment ago.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.already-claimed",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/not-holder",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item held by another person",
+ "description": "You do not hold this item. Claim it first, or ask a supervisor.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.not-holder",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/not-offered",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item action not offered",
+ "description": "The registry did not offer this action to you. Refresh to check again.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.not-offered",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item not visible",
+ "description": "The registry did not show you this request, so Casework cannot show you the item.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.not-visible",
+ "httpStatuses": [
+ 404
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item proposal changed",
+ "description": "The proposal changed since you read it. Your private draft is retained.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.proposal-changed",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/recovery-pending",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item recovery pending",
+ "description": "We could not confirm the result of your last action. Recover the original attempt; do not decide again.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.recovery-pending",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/source-unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item source unavailable",
+ "description": "The registry is not answering. We cannot confirm the current item or its actions. Your private draft is retained.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.source-unavailable",
+ "httpStatuses": [
+ 503
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/work-item/superseded",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Work item superseded",
+ "description": "A revised proposal replaced this item. Open the current one.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ },
+ "problem": {
+ "code": "work-item.superseded",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
{
"uri": "https://id.registrystack.org/problems/registry-discovery/invalid-request",
"kind": "problem",
@@ -1182,11 +1942,11 @@
"description": "Base Registry Engine project authoring JSON Schema.",
"source": {
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
"artifact": {
"path": "products/breg/generated/authoring/registry-module.schema.json",
- "sha256": "6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f",
+ "sha256": "42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf",
"mediaType": "application/schema+json"
}
},
@@ -1200,11 +1960,11 @@
"description": "Base Registry Engine project authoring JSON Schema.",
"source": {
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
"artifact": {
"path": "products/breg/generated/authoring/registry-project.schema.json",
- "sha256": "f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e",
+ "sha256": "2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa",
"mediaType": "application/schema+json"
}
},
@@ -1218,11 +1978,29 @@
"description": "Base Registry Engine runtime configuration JSON Schema.",
"source": {
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "c6ed94a5503a4c6a7c5426add44846346873132065200dd09525b6b0cd2fb8ee"
+ "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
},
"artifact": {
"path": "products/breg/generated/runtime/runtime.schema.json",
- "sha256": "76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d",
+ "sha256": "c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c",
+ "mediaType": "application/schema+json"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Registry Casework runtime configuration",
+ "description": "Registry Casework runtime configuration JSON Schema.",
+ "source": {
+ "path": "crates/registry-casework/src/schema.rs",
+ "sha256": "e7694b4e5247f8fa7f49f05a65811e740eaa4c960f41d967508bba29e5c437d9"
+ },
+ "artifact": {
+ "path": "products/casework/generated/runtime/runtime.schema.json",
+ "sha256": "74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197",
"mediaType": "application/schema+json"
}
},
@@ -1378,7 +2156,7 @@
"description": "Ordered Relay V2 technical handling levels: public, internal, confidential, and restricted.",
"source": {
"path": "products/relay-v2/CONCEPT.md",
- "sha256": "5a60dadc119db6869534f2087ca817fe68f86625d3a48510eb26f99774fd62ed"
+ "sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
}
},
{
diff --git a/src/upstream/source.json b/src/upstream/source.json
index 4cb31687..6495c7c0 100644
--- a/src/upstream/source.json
+++ b/src/upstream/source.json
@@ -1,7 +1,7 @@
{
"version": 1,
"repository": "https://github.com/registrystack/registry-stack",
- "commit": "a33853f270193de7b1a98e542c9d09913c367aaa",
+ "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
"catalog_path": "products/identifiers/generated/catalog.v1.json",
- "catalog_sha256": "f658092363dbad0487eb90f659f6db164333532acfae001c95564790be98336c"
+ "catalog_sha256": "2be0b75f9d9e56451af9785fbf73284806f40ab70bf2a1c85f3a612d871510d1"
}