From bc6fa99fdcf7f2a9878bd0b43de5fb39b0e249c2 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 22 Sep 2026 12:26:50 +0000
Subject: [PATCH] chore: sync Registry Stack identifiers
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
...456d937ac965984552a0007ad6bd5dfba4938.json | 523 ++
...07f88a35251b537725aab532dbf4500e8ed30.json | 1558 ++++++
...7c368665b4273da4addb5d137517e771289d6.json | 3328 ++++++++++++
...c9c1bc033ae8d497c6a2383f892cd019b7b02.json | 612 +++
...eea9dcb17e8ecff0469479894f6c2d1dc2eda.json | 4486 +++++++++++++++++
public/contexts/index.json | 2 +-
public/index.html | 4 +-
public/namespaces/index.json | 2 +-
public/ns/registry-manifest/v1.json | 2 +-
public/ns/registry-manifest/v1/index.html | 2 +-
public/problems/index.html | 43 +-
public/problems/index.json | 2174 +++++++-
.../registry-breg/action/evidence_failed.json | 4 +-
.../action/evidence_failed/index.html | 4 +-
.../registry-breg/action/handler_failed.json | 4 +-
.../action/handler_failed/index.html | 4 +-
.../registry-breg/action/refused.json | 4 +-
.../registry-breg/action/refused/index.html | 4 +-
.../registry-breg/authentication/refused.json | 4 +-
.../authentication/refused/index.html | 4 +-
.../registry-breg/idempotency/conflict.json | 4 +-
.../idempotency/conflict/index.html | 4 +-
.../ingestion/chunk_mismatch.json | 44 +
.../ingestion/chunk_mismatch/index.html | 160 +
.../ingestion/profile_mismatch.json | 44 +
.../ingestion/profile_mismatch/index.html | 160 +
.../ingestion/receipt_erased.json | 44 +
.../ingestion/receipt_erased/index.html | 160 +
.../registry-breg/ingestion/run_blocked.json | 44 +
.../ingestion/run_blocked/index.html | 160 +
.../registry-breg/ingestion/run_not_open.json | 44 +
.../ingestion/run_not_open/index.html | 160 +
.../registry-breg/lookup/unresolved.json | 4 +-
.../lookup/unresolved/index.html | 4 +-
.../registry-breg/mutation/conflict.json | 4 +-
.../mutation/conflict/index.html | 4 +-
.../registry-breg/precondition/failed.json | 4 +-
.../precondition/failed/index.html | 4 +-
.../registry-breg/precondition/required.json | 4 +-
.../precondition/required/index.html | 4 +-
.../registry-breg/query/cursor_invalid.json | 4 +-
.../query/cursor_invalid/index.html | 4 +-
.../problems/registry-breg/query/invalid.json | 4 +-
.../registry-breg/query/invalid/index.html | 4 +-
.../registry-breg/request/invalid.json | 4 +-
.../registry-breg/request/invalid/index.html | 4 +-
.../registry-breg/request/plan_refused.json | 4 +-
.../request/plan_refused/index.html | 4 +-
.../registry-breg/request/timeout.json | 4 +-
.../registry-breg/request/timeout/index.html | 4 +-
.../registry-breg/resource/not_found.json | 4 +-
.../resource/not_found/index.html | 4 +-
.../runtime/field_encryption/unavailable.json | 44 +
.../field_encryption/unavailable/index.html | 160 +
.../registry-breg/runtime/not_ready.json | 4 +-
.../runtime/not_ready/index.html | 4 +-
.../registry-breg/service/unavailable.json | 4 +-
.../service/unavailable/index.html | 4 +-
.../registry-breg/source/unavailable.json | 4 +-
.../source/unavailable/index.html | 4 +-
.../registry-breg/unsupported/media_type.json | 4 +-
.../unsupported/media_type/index.html | 4 +-
.../absence/cover-cycle.json | 4 +-
.../absence/cover-cycle/index.html | 4 +-
.../absence/invalid-period.json | 4 +-
.../absence/invalid-period/index.html | 4 +-
.../registry-casework/absence/overlap.json | 4 +-
.../absence/overlap/index.html | 4 +-
.../registry-casework/absence/self-cover.json | 4 +-
.../absence/self-cover/index.html | 4 +-
.../authentication/refused.json | 4 +-
.../authentication/refused/index.html | 4 +-
.../clock/recompute-preview-expired.json | 4 +-
.../recompute-preview-expired/index.html | 4 +-
.../registry-casework/cursor/expired.json | 4 +-
.../cursor/expired/index.html | 4 +-
.../registry-casework/cursor/invalid.json | 4 +-
.../cursor/invalid/index.html | 4 +-
.../idempotency/expired.json | 4 +-
.../idempotency/expired/index.html | 4 +-
.../idempotency/key-reused.json | 4 +-
.../idempotency/key-reused/index.html | 4 +-
.../operation/not-authorized.json | 4 +-
.../operation/not-authorized/index.html | 4 +-
.../precondition/failed.json | 4 +-
.../precondition/failed/index.html | 4 +-
.../precondition/required.json | 4 +-
.../precondition/required/index.html | 4 +-
.../profile/not-authorized.json | 4 +-
.../profile/not-authorized/index.html | 4 +-
.../registry-casework/profile/not-human.json | 4 +-
.../profile/not-human/index.html | 4 +-
.../request/body-too-large.json | 4 +-
.../request/body-too-large/index.html | 4 +-
.../registry-casework/request/invalid.json | 4 +-
.../request/invalid/index.html | 4 +-
.../request/method-not-allowed.json | 4 +-
.../request/method-not-allowed/index.html | 4 +-
.../registry-casework/request/not-found.json | 4 +-
.../request/not-found/index.html | 4 +-
.../request/reason-unsupported.json | 4 +-
.../request/reason-unsupported/index.html | 4 +-
.../request/source-rejected.json | 4 +-
.../request/source-rejected/index.html | 4 +-
.../request/unprocessable.json | 4 +-
.../request/unprocessable/index.html | 4 +-
.../request/unsupported-media-type.json | 4 +-
.../request/unsupported-media-type/index.html | 4 +-
.../review/result-expired.json | 44 +
.../review/result-expired/index.html | 160 +
.../review/submission-conflict.json | 44 +
.../review/submission-conflict/index.html | 160 +
.../review/task-not-held.json | 44 +
.../review/task-not-held/index.html | 160 +
.../registry-casework/runtime/failure.json | 4 +-
.../runtime/failure/index.html | 4 +-
.../service/unavailable.json | 4 +-
.../service/unavailable/index.html | 4 +-
.../source-profile/not-applicable.json | 4 +-
.../source-profile/not-applicable/index.html | 4 +-
.../source-profile/required.json | 4 +-
.../source-profile/required/index.html | 4 +-
.../registry-casework/source/bad-gateway.json | 4 +-
.../source/bad-gateway/index.html | 4 +-
.../registry-casework/source/not-found.json | 4 +-
.../source/not-found/index.html | 4 +-
.../source/record-missing.json | 4 +-
.../source/record-missing/index.html | 4 +-
.../source/reviewer-not-authorized.json | 4 +-
.../source/reviewer-not-authorized/index.html | 4 +-
.../source/signature-invalid.json | 4 +-
.../source/signature-invalid/index.html | 4 +-
.../work-item/already-claimed.json | 4 +-
.../work-item/already-claimed/index.html | 4 +-
.../work-item/not-holder.json | 4 +-
.../work-item/not-holder/index.html | 4 +-
.../work-item/not-offered.json | 4 +-
.../work-item/not-offered/index.html | 4 +-
.../work-item/not-visible.json | 4 +-
.../work-item/not-visible/index.html | 4 +-
.../work-item/proposal-changed.json | 4 +-
.../work-item/proposal-changed/index.html | 4 +-
.../work-item/recovery-pending.json | 4 +-
.../work-item/recovery-pending/index.html | 4 +-
.../work-item/source-unavailable.json | 4 +-
.../work-item/source-unavailable/index.html | 4 +-
.../work-item/superseded.json | 4 +-
.../work-item/superseded/index.html | 4 +-
.../registry-discovery/invalid-request.json | 2 +-
.../invalid-request/index.html | 2 +-
.../registry-discovery/not-found.json | 2 +-
.../registry-discovery/not-found/index.html | 2 +-
.../result-bound-exceeded.json | 2 +-
.../result-bound-exceeded/index.html | 2 +-
.../registry-discovery/unavailable.json | 2 +-
.../registry-discovery/unavailable/index.html | 2 +-
.../auth/invalid_credential.json | 2 +-
.../auth/invalid_credential/index.html | 2 +-
.../registry-evidence/evidence/denied.json | 2 +-
.../evidence/denied/index.html | 2 +-
.../evidence/invalid_request.json | 2 +-
.../evidence/invalid_request/index.html | 2 +-
.../evidence/rate_limited.json | 2 +-
.../evidence/rate_limited/index.html | 2 +-
.../evidence/unavailable.json | 2 +-
.../evidence/unavailable/index.html | 2 +-
.../registry-evidence/format/unsupported.json | 2 +-
.../format/unsupported/index.html | 2 +-
.../request/selector_invalid.json | 2 +-
.../request/selector_invalid/index.html | 2 +-
.../registry-evidence/resource/not_found.json | 2 +-
.../resource/not_found/index.html | 2 +-
.../service/unavailable.json | 2 +-
.../service/unavailable/index.html | 2 +-
.../registry-evidence/source/unavailable.json | 2 +-
.../source/unavailable/index.html | 2 +-
.../registry-relay/aggregate-data/denied.json | 2 +-
.../aggregate-data/denied/index.html | 2 +-
.../aggregate-data/invalid_request.json | 2 +-
.../aggregate-data/invalid_request/index.html | 2 +-
.../aggregate-data/rate_limited.json | 2 +-
.../aggregate-data/rate_limited/index.html | 2 +-
.../aggregate-data/too_large.json | 2 +-
.../aggregate-data/too_large/index.html | 2 +-
.../registry-relay/audit/unavailable.json | 2 +-
.../audit/unavailable/index.html | 2 +-
.../auth/invalid_credential.json | 2 +-
.../auth/invalid_credential/index.html | 2 +-
.../auth/missing_credential.json | 2 +-
.../auth/missing_credential/index.html | 2 +-
.../registry-relay/consultation/denied.json | 2 +-
.../consultation/denied/index.html | 2 +-
.../consultation/invalid_request.json | 2 +-
.../consultation/invalid_request/index.html | 2 +-
.../consultation/rate_limited.json | 2 +-
.../consultation/rate_limited/index.html | 2 +-
.../consultation/response_too_large.json | 2 +-
.../response_too_large/index.html | 2 +-
.../consultation/unresolved.json | 2 +-
.../consultation/unresolved/index.html | 2 +-
.../registry-relay/filter/invalid_value.json | 2 +-
.../filter/invalid_value/index.html | 2 +-
.../registry-relay/filter/unknown_field.json | 2 +-
.../filter/unknown_field/index.html | 2 +-
.../registry-relay/format/unsupported.json | 2 +-
.../format/unsupported/index.html | 2 +-
.../internal/payload_too_large.json | 2 +-
.../internal/payload_too_large/index.html | 2 +-
.../registry-relay/internal/timeout.json | 2 +-
.../internal/timeout/index.html | 2 +-
.../registry-relay/internal/unhandled.json | 2 +-
.../internal/unhandled/index.html | 2 +-
.../registry-relay/internal/uri_too_long.json | 2 +-
.../internal/uri_too_long/index.html | 2 +-
.../registry-relay/query/cursor_invalid.json | 2 +-
.../query/cursor_invalid/index.html | 2 +-
.../request/access_profile_invalid.json | 2 +-
.../request/access_profile_invalid/index.html | 2 +-
.../request/fields_invalid.json | 2 +-
.../request/fields_invalid/index.html | 2 +-
.../request/media_type_unsupported.json | 2 +-
.../request/media_type_unsupported/index.html | 2 +-
.../registry-relay/resource/not_found.json | 2 +-
.../resource/not_found/index.html | 2 +-
.../registry-relay/service/not_ready.json | 2 +-
.../service/not_ready/index.html | 2 +-
.../registry-relay/source/unavailable.json | 2 +-
.../source/unavailable/index.html | 2 +-
.../authentication/refused.json | 44 +
.../authentication/refused/index.html | 160 +
.../booking/duplicate-active.json | 44 +
.../booking/duplicate-active/index.html | 160 +
.../cancellation/cutoff-passed.json | 44 +
.../cancellation/cutoff-passed/index.html | 160 +
.../capability/unmatched.json | 44 +
.../capability/unmatched/index.html | 160 +
.../capacity/exhausted.json | 44 +
.../capacity/exhausted/index.html | 160 +
.../registry-scheduling/cursor/expired.json | 44 +
.../cursor/expired/index.html | 160 +
.../registry-scheduling/cursor/invalid.json | 44 +
.../cursor/invalid/index.html | 160 +
.../eligibility/unavailable.json | 44 +
.../eligibility/unavailable/index.html | 160 +
.../registry-scheduling/hold/expired.json | 44 +
.../hold/expired/index.html | 160 +
.../registry-scheduling/hold/released.json | 44 +
.../hold/released/index.html | 160 +
.../registry-scheduling/hook/unavailable.json | 44 +
.../hook/unavailable/index.html | 160 +
.../registry-scheduling/horizon/outside.json | 44 +
.../horizon/outside/index.html | 160 +
.../idempotency/expired.json | 44 +
.../idempotency/expired/index.html | 160 +
.../idempotency/key-reused.json | 44 +
.../idempotency/key-reused/index.html | 160 +
.../registry-scheduling/location/closed.json | 44 +
.../location/closed/index.html | 160 +
.../operation/not-authorized.json | 44 +
.../operation/not-authorized/index.html | 160 +
.../party/capacity-inadequate.json | 44 +
.../party/capacity-inadequate/index.html | 160 +
.../registry-scheduling/policy/changed.json | 44 +
.../policy/changed/index.html | 160 +
.../precondition/failed.json | 44 +
.../precondition/failed/index.html | 160 +
.../precondition/required.json | 44 +
.../precondition/required/index.html | 160 +
.../prerequisite/missing.json | 44 +
.../prerequisite/missing/index.html | 160 +
.../profile/not-authorized.json | 44 +
.../profile/not-authorized/index.html | 160 +
.../request/body-too-large.json | 44 +
.../request/body-too-large/index.html | 160 +
.../registry-scheduling/request/invalid.json | 44 +
.../request/invalid/index.html | 160 +
.../request/method-not-allowed.json | 44 +
.../request/method-not-allowed/index.html | 160 +
.../request/not-found.json | 44 +
.../request/not-found/index.html | 160 +
.../request/unprocessable.json | 44 +
.../request/unprocessable/index.html | 160 +
.../request/unsupported-media-type.json | 44 +
.../request/unsupported-media-type/index.html | 160 +
.../resource/unavailable.json | 44 +
.../resource/unavailable/index.html | 160 +
.../revision/mismatch.json | 44 +
.../revision/mismatch/index.html | 160 +
.../schedule/unpublished.json | 44 +
.../schedule/unpublished/index.html | 160 +
.../service/unavailable.json | 44 +
.../service/unavailable/index.html | 160 +
public/profiles/index.json | 2 +-
.../registry-module.v1alpha1.schema.json | 555 +-
.../index.html | 4 +-
.../registry-project.v1alpha1.schema.json | 595 ++-
.../index.html | 4 +-
.../breg/runtime/runtime.v1alpha1.schema.json | 259 +
.../runtime.v1alpha1.schema/index.html | 4 +-
.../runtime/runtime.v1alpha1.schema.json | 43 +
.../runtime.v1alpha1.schema/index.html | 4 +-
public/schemas/index.html | 3 +-
public/schemas/index.json | 83 +-
.../runtime/runtime.v1alpha1.schema.json | 523 ++
.../runtime.v1alpha1.schema/index.html | 99 +
public/vocab/codelist.json | 2 +-
public/vocab/codelist/index.html | 2 +-
public/vocab/coordinateReferenceSystem.json | 2 +-
.../coordinateReferenceSystem/index.html | 2 +-
public/vocab/core/index.html | 2 +-
public/vocab/core/index.json | 2 +-
public/vocab/geometryType.json | 2 +-
public/vocab/geometryType/index.html | 2 +-
public/vocab/handling.json | 2 +-
public/vocab/handling/index.html | 2 +-
public/vocab/registry-record/index.html | 2 +-
public/vocab/registry-record/index.json | 2 +-
public/vocab/sourceRequired.json | 2 +-
public/vocab/sourceRequired/index.html | 2 +-
public/vocabularies/core.json | 2 +-
public/vocabularies/index.json | 14 +-
...456d937ac965984552a0007ad6bd5dfba4938.json | 523 ++
...07f88a35251b537725aab532dbf4500e8ed30.json | 1558 ++++++
...7c368665b4273da4addb5d137517e771289d6.json | 3328 ++++++++++++
...c9c1bc033ae8d497c6a2383f892cd019b7b02.json | 612 +++
...eea9dcb17e8ecff0469479894f6c2d1dc2eda.json | 4486 +++++++++++++++++
src/catalogs/contexts.json | 2 +-
src/catalogs/namespaces.json | 2 +-
src/catalogs/problems.json | 1179 ++++-
src/catalogs/profiles.json | 2 +-
src/catalogs/schemas.json | 68 +-
src/catalogs/vocabularies.json | 6 +-
src/catalogs/vocabulary-terms.json | 8 +-
src/upstream/catalog.v1.json | 1087 +++-
src/upstream/source.json | 4 +-
335 files changed, 35506 insertions(+), 1313 deletions(-)
create mode 100644 public/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json
create mode 100644 public/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json
create mode 100644 public/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json
create mode 100644 public/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json
create mode 100644 public/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json
create mode 100644 public/problems/registry-breg/ingestion/chunk_mismatch.json
create mode 100644 public/problems/registry-breg/ingestion/chunk_mismatch/index.html
create mode 100644 public/problems/registry-breg/ingestion/profile_mismatch.json
create mode 100644 public/problems/registry-breg/ingestion/profile_mismatch/index.html
create mode 100644 public/problems/registry-breg/ingestion/receipt_erased.json
create mode 100644 public/problems/registry-breg/ingestion/receipt_erased/index.html
create mode 100644 public/problems/registry-breg/ingestion/run_blocked.json
create mode 100644 public/problems/registry-breg/ingestion/run_blocked/index.html
create mode 100644 public/problems/registry-breg/ingestion/run_not_open.json
create mode 100644 public/problems/registry-breg/ingestion/run_not_open/index.html
create mode 100644 public/problems/registry-breg/runtime/field_encryption/unavailable.json
create mode 100644 public/problems/registry-breg/runtime/field_encryption/unavailable/index.html
create mode 100644 public/problems/registry-casework/review/result-expired.json
create mode 100644 public/problems/registry-casework/review/result-expired/index.html
create mode 100644 public/problems/registry-casework/review/submission-conflict.json
create mode 100644 public/problems/registry-casework/review/submission-conflict/index.html
create mode 100644 public/problems/registry-casework/review/task-not-held.json
create mode 100644 public/problems/registry-casework/review/task-not-held/index.html
create mode 100644 public/problems/registry-scheduling/authentication/refused.json
create mode 100644 public/problems/registry-scheduling/authentication/refused/index.html
create mode 100644 public/problems/registry-scheduling/booking/duplicate-active.json
create mode 100644 public/problems/registry-scheduling/booking/duplicate-active/index.html
create mode 100644 public/problems/registry-scheduling/cancellation/cutoff-passed.json
create mode 100644 public/problems/registry-scheduling/cancellation/cutoff-passed/index.html
create mode 100644 public/problems/registry-scheduling/capability/unmatched.json
create mode 100644 public/problems/registry-scheduling/capability/unmatched/index.html
create mode 100644 public/problems/registry-scheduling/capacity/exhausted.json
create mode 100644 public/problems/registry-scheduling/capacity/exhausted/index.html
create mode 100644 public/problems/registry-scheduling/cursor/expired.json
create mode 100644 public/problems/registry-scheduling/cursor/expired/index.html
create mode 100644 public/problems/registry-scheduling/cursor/invalid.json
create mode 100644 public/problems/registry-scheduling/cursor/invalid/index.html
create mode 100644 public/problems/registry-scheduling/eligibility/unavailable.json
create mode 100644 public/problems/registry-scheduling/eligibility/unavailable/index.html
create mode 100644 public/problems/registry-scheduling/hold/expired.json
create mode 100644 public/problems/registry-scheduling/hold/expired/index.html
create mode 100644 public/problems/registry-scheduling/hold/released.json
create mode 100644 public/problems/registry-scheduling/hold/released/index.html
create mode 100644 public/problems/registry-scheduling/hook/unavailable.json
create mode 100644 public/problems/registry-scheduling/hook/unavailable/index.html
create mode 100644 public/problems/registry-scheduling/horizon/outside.json
create mode 100644 public/problems/registry-scheduling/horizon/outside/index.html
create mode 100644 public/problems/registry-scheduling/idempotency/expired.json
create mode 100644 public/problems/registry-scheduling/idempotency/expired/index.html
create mode 100644 public/problems/registry-scheduling/idempotency/key-reused.json
create mode 100644 public/problems/registry-scheduling/idempotency/key-reused/index.html
create mode 100644 public/problems/registry-scheduling/location/closed.json
create mode 100644 public/problems/registry-scheduling/location/closed/index.html
create mode 100644 public/problems/registry-scheduling/operation/not-authorized.json
create mode 100644 public/problems/registry-scheduling/operation/not-authorized/index.html
create mode 100644 public/problems/registry-scheduling/party/capacity-inadequate.json
create mode 100644 public/problems/registry-scheduling/party/capacity-inadequate/index.html
create mode 100644 public/problems/registry-scheduling/policy/changed.json
create mode 100644 public/problems/registry-scheduling/policy/changed/index.html
create mode 100644 public/problems/registry-scheduling/precondition/failed.json
create mode 100644 public/problems/registry-scheduling/precondition/failed/index.html
create mode 100644 public/problems/registry-scheduling/precondition/required.json
create mode 100644 public/problems/registry-scheduling/precondition/required/index.html
create mode 100644 public/problems/registry-scheduling/prerequisite/missing.json
create mode 100644 public/problems/registry-scheduling/prerequisite/missing/index.html
create mode 100644 public/problems/registry-scheduling/profile/not-authorized.json
create mode 100644 public/problems/registry-scheduling/profile/not-authorized/index.html
create mode 100644 public/problems/registry-scheduling/request/body-too-large.json
create mode 100644 public/problems/registry-scheduling/request/body-too-large/index.html
create mode 100644 public/problems/registry-scheduling/request/invalid.json
create mode 100644 public/problems/registry-scheduling/request/invalid/index.html
create mode 100644 public/problems/registry-scheduling/request/method-not-allowed.json
create mode 100644 public/problems/registry-scheduling/request/method-not-allowed/index.html
create mode 100644 public/problems/registry-scheduling/request/not-found.json
create mode 100644 public/problems/registry-scheduling/request/not-found/index.html
create mode 100644 public/problems/registry-scheduling/request/unprocessable.json
create mode 100644 public/problems/registry-scheduling/request/unprocessable/index.html
create mode 100644 public/problems/registry-scheduling/request/unsupported-media-type.json
create mode 100644 public/problems/registry-scheduling/request/unsupported-media-type/index.html
create mode 100644 public/problems/registry-scheduling/resource/unavailable.json
create mode 100644 public/problems/registry-scheduling/resource/unavailable/index.html
create mode 100644 public/problems/registry-scheduling/revision/mismatch.json
create mode 100644 public/problems/registry-scheduling/revision/mismatch/index.html
create mode 100644 public/problems/registry-scheduling/schedule/unpublished.json
create mode 100644 public/problems/registry-scheduling/schedule/unpublished/index.html
create mode 100644 public/problems/registry-scheduling/service/unavailable.json
create mode 100644 public/problems/registry-scheduling/service/unavailable/index.html
create mode 100644 public/schemas/scheduling/runtime/runtime.v1alpha1.schema.json
create mode 100644 public/schemas/scheduling/runtime/runtime.v1alpha1.schema/index.html
create mode 100644 src/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json
create mode 100644 src/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json
create mode 100644 src/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json
create mode 100644 src/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json
create mode 100644 src/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json
diff --git a/public/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json b/public/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json
new file mode 100644
index 00000000..59ec7a93
--- /dev/null
+++ b/public/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json
@@ -0,0 +1,523 @@
+{
+ "$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"
+ },
+ "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"
+ },
+ "DestinationsConfig": {
+ "additionalProperties": false,
+ "description": "Where due reminder and lifecycle-hook intents are dispatched. An absent\nreminders destination and an empty hook map are supported: intents stay\nlocal, so an operator can adopt the product before wiring delivery buses.",
+ "properties": {
+ "hooks": {
+ "additionalProperties": {
+ "$ref": "#/$defs/HookDestinationConfig"
+ },
+ "description": "Logical URL hook destinations. The governed policy names only these\nids; URL, signing secret, and retry ceilings stay deployment-owned.",
+ "type": "object"
+ },
+ "reminders": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ReminderDestinationConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "FileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "HookDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "attemptTimeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "hmacSha256KeyRef": {
+ "type": "string"
+ },
+ "maximumAttempts": {
+ "default": 8,
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "hmacSha256KeyRef"
+ ],
+ "type": "object"
+ },
+ "ListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "default": "127.0.0.1:8105",
+ "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": "The assertion authorities each client may exchange a subject token\nfrom, keyed by client identifier.\n\nA deployment that performs no token exchange leaves this empty. Once a\nclient is listed, a token it exchanged is accepted only for one of that\nclient's declared authorities, so an assertion minted by an unrelated\nauthority the issuer happens to federate cannot become a booking\ncredential here.",
+ "maxProperties": 64,
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1
+ },
+ "type": "object"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "explainScope": {
+ "default": "scheduling-explain",
+ "description": "The scope the separately authorized explain path requires.",
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "jwksSource": {
+ "$ref": "#/$defs/OidcJwksSource"
+ },
+ "jwksUri": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "readsScope": {
+ "default": "scheduling-read",
+ "description": "The scope every listing and availability read requires.",
+ "type": "string"
+ },
+ "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"
+ }
+ ]
+ },
+ "ReminderDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bearerTokenRef": {
+ "default": null,
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "RetentionConfig": {
+ "additionalProperties": false,
+ "description": "Retention periods the retention sweep enforces. Every value is deployment\nconfiguration, never policy: a jurisdiction's retention schedule approves\nthe deployed numbers, and changing one is an operational event.",
+ "properties": {
+ "attemptReceiptDays": {
+ "default": 7,
+ "description": "How long a stored idempotency receipt stays replayable.",
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "hookPayloadDays": {
+ "default": 7,
+ "description": "Lifetime of canonical hook envelopes retained for retry and\ndead-letter inspection.",
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePackageConfig": {
+ "additionalProperties": false,
+ "description": "The root of an authored scheduling project, holding `scheduling.yaml` and\nits optional package manifest.",
+ "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"
+ },
+ "TlsTermination": {
+ "description": "Declares the trusted transport boundary for the runtime's plaintext HTTP\nlistener. Production listeners require operator-controlled upstream TLS\ntermination; direct plaintext is limited to the explicit loopback-only\ndevelopment mode.",
+ "enum": [
+ "operator-controlled-upstream",
+ "development-loopback"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/scheduling/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"
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "description": "The operator runtime configuration document.",
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/scheduling-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/DatabaseConfig"
+ },
+ "destinations": {
+ "$ref": "#/$defs/DestinationsConfig"
+ },
+ "kind": {
+ "const": "SchedulingRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/ListenerConfig"
+ },
+ "package": {
+ "$ref": "#/$defs/RuntimePackageConfig"
+ },
+ "retention": {
+ "$ref": "#/$defs/RetentionConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/SecretProvidersConfig"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "package",
+ "listener",
+ "secretProviders",
+ "database",
+ "authentication",
+ "audit",
+ "retention"
+ ],
+ "title": "Registry Scheduling runtime configuration",
+ "type": "object"
+}
diff --git a/public/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json b/public/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json
new file mode 100644
index 00000000..5ce0cbbc
--- /dev/null
+++ b/public/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json
@@ -0,0 +1,1558 @@
+{
+ "$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"
+ },
+ "RawFieldEncryptionConfig": {
+ "additionalProperties": false,
+ "description": "Raw `fieldEncryption` deployment block, absent by default.",
+ "properties": {
+ "provider": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawFieldEncryptionProvider"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawFieldEncryptionProvider": {
+ "description": "Raw provider binding; the `kind` member selects the custodian.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "keyName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "transit",
+ "type": "string"
+ },
+ "mount": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "timeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "unixSocketPath": {
+ "maxLength": 4096,
+ "minLength": 2,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "unixSocketPath",
+ "mount",
+ "keyName"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "dekRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "localFile",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "dekRef"
+ ],
+ "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"
+ },
+ "RawReviewAuthorityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "completionRecipient": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "completionTokenRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "privateKeyJwt": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawReviewPrivateKeyJwtConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "producerId": {
+ "type": "string"
+ },
+ "profile": {
+ "type": "string"
+ },
+ "recoveryDays": {
+ "format": "uint32",
+ "maximum": 3650,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "tokenRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "endpoint",
+ "profile",
+ "producerId",
+ "recoveryDays"
+ ],
+ "type": "object"
+ },
+ "RawReviewExecutorConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": "string"
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "registryId": {
+ "type": "string"
+ },
+ "tokenRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpoint",
+ "tokenRef",
+ "registryId",
+ "accessProfile"
+ ],
+ "type": "object"
+ },
+ "RawReviewPrivateKeyJwtConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "assertionAudience": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientAssertionKeyRef": {
+ "type": "string"
+ },
+ "clientIdRef": {
+ "type": "string"
+ },
+ "resource": {
+ "type": "string"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenEndpoint",
+ "clientIdRef",
+ "clientAssertionKeyRef",
+ "assertionAudience",
+ "resource",
+ "scopes"
+ ],
+ "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"
+ },
+ "RawWasmExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "backend": {
+ "default": "pulley",
+ "description": "The backend handler modules are compiled and executed for: `pulley`\n(default, the portable interpreter target) or `native`. Any other\nvalue is refused as an invalid `wasmExecution` section.",
+ "type": "string"
+ },
+ "maxGuestMemoryBytes": {
+ "default": 33554432,
+ "description": "Defaults to the platform guest-memory ceiling (32 MiB).",
+ "format": "uint64",
+ "maximum": 1073741824,
+ "minimum": 1048576,
+ "type": "integer"
+ },
+ "maxModuleBytes": {
+ "default": 2097152,
+ "description": "Defaults to the default execution-time module ceiling (2 MiB); the\nstructural admission ceiling (5 MiB) is operator-reachable here.",
+ "format": "uint64",
+ "maximum": 5242880,
+ "minimum": 1024,
+ "type": "integer"
+ }
+ },
+ "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"
+ },
+ "fieldEncryption": {
+ "$ref": "#/$defs/RawFieldEncryptionConfig",
+ "default": {},
+ "description": "Optional field-encryption data-key provider. Absent by default, which\nserves unencrypted entities only."
+ },
+ "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"
+ },
+ "reviewAuthorities": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawReviewAuthorityConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "reviewExecutors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawReviewExecutorConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/RawSecretProvidersConfig"
+ },
+ "taskGrantStatus": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/TaskGrantStatusConfig"
+ },
+ "type": "array"
+ },
+ "wasmExecution": {
+ "$ref": "#/$defs/RawWasmExecutionConfig",
+ "default": {
+ "backend": "pulley",
+ "maxGuestMemoryBytes": 33554432,
+ "maxModuleBytes": 2097152
+ },
+ "description": "Optional WASM handler execution budgets. Parsed in every build;\nexecuted only in builds with the `wasm` cargo feature, on by default."
+ }
+ },
+ "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/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json b/public/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json
new file mode 100644
index 00000000..41a1a19e
--- /dev/null
+++ b/public/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json
@@ -0,0 +1,3328 @@
+{
+ "$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"
+ },
+ "ActionHandlerKindSource": {
+ "description": "The authored action-handler backend. The wasm backend is admitted when\nthis build of the compiler carries the `wasm` cargo feature, which\nvalidates a declared WASM handler module against the platform guest\nABI at compile time; without that feature a declared WASM handler is\nrefused with the pinned `action.handler.wasm_build_unsupported`\ndiagnostic.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "description": "The authored action handler: the shared hook handler declaration, with the\nauthorization members a governed action adds.\n\n`handler` is [`HookHandlerSource`], the same declaration an entity hook\ncarries, so this product spells a handler one way. It is flattened, so the\nauthored member set stays `kind`, the source reference the kind names,\n`abi`, `writes`, and `refusals`. `writes` and `refusals` are this\nproduct's own: they bound what the handler may write and the refusals it\nmay return, and no hook declares them.\n\nTwo rules narrow the shared declaration to what this path runs. `abi` is\noptional there and required here, refused at deserialization, because\nevery backend an action may declare speaks one. The `url` kind is refused\nby the compiler at `actions[].handler.kind`, because an action handler\nruns inside the triggering transaction and cannot be remote.",
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ActionHandlerKindSource"
+ },
+ "module": {
+ "description": "The WASM handler module path, project-local. Declared for wasm\nhandlers only; the compiler enforces the pairing with the declared\nbackend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "description": "The Rhai handler script path. Declared for rhai handlers only; the\ncompiler enforces the pairing with the declared backend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "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"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "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"
+ },
+ "ChangeRequestNoReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestNoReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestNoReviewModeSource"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestOnApprovedModeSource": {
+ "enum": [
+ "manual",
+ "automatic"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestOnApprovedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "executor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedModeSource",
+ "default": "manual"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "description": "The authored change-request planner backend. The wasm backend is\nexpressible so a declared WASM planner is refused by the compiler with a\npinned diagnostic; WASM planners stay unsupported. Retained Rust name for\nthe reviewed change-request authoring contract.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "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"
+ },
+ "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"
+ },
+ "ChangeRequestReviewRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authority": {
+ "type": "string"
+ },
+ "policyId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "authority",
+ "policyId"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestReviewSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewRequirementSource"
+ },
+ {
+ "$ref": "#/$defs/ChangeRequestNoReviewSource"
+ }
+ ]
+ },
+ "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": {}
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "onApproved": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
+ "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"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
+ "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"
+ },
+ "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."
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "EvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile"
+ ],
+ "type": "object"
+ },
+ "FieldLookupSource": {
+ "additionalProperties": false,
+ "description": "The authored blind-index declaration for an encrypted field. Normalization\ncomposes in declared order over the canonical string form of the value;\n`unique` requests a unique index over the derived blind-index column.",
+ "properties": {
+ "normalization": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/NormalizationStep"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "unique": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "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"
+ },
+ "HookHandlerSource": {
+ "description": "Where a hook's handler runs.\n\nThe pairing rule: `rhai` requires `script`, `wasm` requires `module`,\n`url` requires `destinationId`, and each\nkind requires exactly its own fields and nothing else. `abi` is required on\n`rhai` and `wasm` and forbidden on `url`; its value is closed and checked at\ncompile time in [`crate::validate_hooks`].",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "description": "A reviewed Rhai script in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the script speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "rhai",
+ "type": "string"
+ },
+ "script": {
+ "description": "Script path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "script"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A reviewed WASM module in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the module speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "wasm",
+ "type": "string"
+ },
+ "module": {
+ "description": "Module path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "module"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A logical destination bound to a URL and a secret at runtime. The\nruntime names the binding it looks the key up in; the project carries\nno URL or secret.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in the runtime destination binding.",
+ "type": "string"
+ },
+ "kind": {
+ "const": "url",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "HookPhase": {
+ "description": "When the hook runs relative to the triggering transaction.",
+ "oneOf": [
+ {
+ "const": "before",
+ "description": "Runs inside the triggering transaction and may refuse or shape the\nchange. Local handler kinds only.",
+ "type": "string"
+ },
+ {
+ "const": "after",
+ "description": "Runs after commit in the post-commit worker and cannot affect the\ntriggering transaction.",
+ "type": "string"
+ }
+ ]
+ },
+ "HookSource": {
+ "additionalProperties": false,
+ "description": "One declared hook on an entity.\n\nThe shape is [`registry_platform_hooks::HookDeclaration`] with `trigger`\nand `when` closed to the vocabulary this compiler validates, and with\n`handler` optional. A hook that declares no handler is still recorded in\nthe outbox and delivered nowhere; production compilation refuses that.\n\nEntity hooks run after the triggering transaction commits, so `phase` is\nwritten and the compiler refuses any value it cannot run.",
+ "properties": {
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/HookHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Governed, destination-neutral delivery. `destinationId` is a key in\nruntime `eventDestinations`; the project carries no URL or secret, and\ndeployment configuration may tighten the bounds it binds but cannot\nsupply or widen this authority. Production compilation requires it."
+ },
+ "id": {
+ "description": "Stable hook contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "phase": {
+ "$ref": "#/$defs/HookPhase",
+ "description": "When the hook runs relative to the triggering transaction."
+ },
+ "principal": {
+ "description": "The access profile a proposal from this hook is applied under.\nOptional: a hook that declares none is a non-proposing hook, and a\nproposal from one is refused and dead-lettered at delivery time.\nDeclaring none is not an authoring error.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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 hook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to run on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "phase",
+ "trigger",
+ "projection"
+ ],
+ "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"
+ },
+ "NormalizationStep": {
+ "description": "A normalization step applied to the canonical string form of an encrypted\nvalue before its blind index is derived. The vocabulary is closed.",
+ "oneOf": [
+ {
+ "enum": [
+ "trim",
+ "uppercase",
+ "lowercase",
+ "collapse-whitespace"
+ ],
+ "type": "string"
+ },
+ {
+ "const": "remove-separators",
+ "description": "Strips spaces, hyphens, slashes, and dots from the canonical form.",
+ "type": "string"
+ }
+ ]
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ }
+ },
+ "$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/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json b/public/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json
new file mode 100644
index 00000000..c34daa94
--- /dev/null
+++ b/public/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json
@@ -0,0 +1,612 @@
+{
+ "$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"
+ }
+ ]
+ },
+ "ReviewCompletionRuntimeConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bearerTokenRef": {
+ "type": "string"
+ },
+ "maximumAttempts": {
+ "default": 12,
+ "format": "uint32",
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "retrySeconds": {
+ "default": 30,
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "timeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "bearerTokenRef"
+ ],
+ "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"
+ },
+ "reviewCompletionDestinations": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ReviewCompletionRuntimeConfig"
+ },
+ "type": "object"
+ },
+ "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/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json b/public/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json
new file mode 100644
index 00000000..03c931b3
--- /dev/null
+++ b/public/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json
@@ -0,0 +1,4486 @@
+{
+ "$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"
+ },
+ "ActionHandlerKindSource": {
+ "description": "The authored action-handler backend. The wasm backend is admitted when\nthis build of the compiler carries the `wasm` cargo feature, which\nvalidates a declared WASM handler module against the platform guest\nABI at compile time; without that feature a declared WASM handler is\nrefused with the pinned `action.handler.wasm_build_unsupported`\ndiagnostic.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "description": "The authored action handler: the shared hook handler declaration, with the\nauthorization members a governed action adds.\n\n`handler` is [`HookHandlerSource`], the same declaration an entity hook\ncarries, so this product spells a handler one way. It is flattened, so the\nauthored member set stays `kind`, the source reference the kind names,\n`abi`, `writes`, and `refusals`. `writes` and `refusals` are this\nproduct's own: they bound what the handler may write and the refusals it\nmay return, and no hook declares them.\n\nTwo rules narrow the shared declaration to what this path runs. `abi` is\noptional there and required here, refused at deserialization, because\nevery backend an action may declare speaks one. The `url` kind is refused\nby the compiler at `actions[].handler.kind`, because an action handler\nruns inside the triggering transaction and cannot be remote.",
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ActionHandlerKindSource"
+ },
+ "module": {
+ "description": "The WASM handler module path, project-local. Declared for wasm\nhandlers only; the compiler enforces the pairing with the declared\nbackend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "description": "The Rhai handler script path. Declared for rhai handlers only; the\ncompiler enforces the pairing with the declared backend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "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"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "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"
+ },
+ "ChangeRequestNoReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestNoReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestNoReviewModeSource"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestOnApprovedModeSource": {
+ "enum": [
+ "manual",
+ "automatic"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestOnApprovedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "executor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedModeSource",
+ "default": "manual"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "description": "The authored change-request planner backend. The wasm backend is\nexpressible so a declared WASM planner is refused by the compiler with a\npinned diagnostic; WASM planners stay unsupported. Retained Rust name for\nthe reviewed change-request authoring contract.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "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"
+ },
+ "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"
+ },
+ "ChangeRequestReviewRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authority": {
+ "type": "string"
+ },
+ "policyId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "authority",
+ "policyId"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestReviewSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewRequirementSource"
+ },
+ {
+ "$ref": "#/$defs/ChangeRequestNoReviewSource"
+ }
+ ]
+ },
+ "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": {}
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "onApproved": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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
+ },
+ "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"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
+ "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"
+ },
+ "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."
+ },
+ "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"
+ },
+ "FieldLookupSource": {
+ "additionalProperties": false,
+ "description": "The authored blind-index declaration for an encrypted field. Normalization\ncomposes in declared order over the canonical string form of the value;\n`unique` requests a unique index over the derived blind-index column.",
+ "properties": {
+ "normalization": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/NormalizationStep"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "unique": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "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"
+ },
+ "HookHandlerSource": {
+ "description": "Where a hook's handler runs.\n\nThe pairing rule: `rhai` requires `script`, `wasm` requires `module`,\n`url` requires `destinationId`, and each\nkind requires exactly its own fields and nothing else. `abi` is required on\n`rhai` and `wasm` and forbidden on `url`; its value is closed and checked at\ncompile time in [`crate::validate_hooks`].",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "description": "A reviewed Rhai script in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the script speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "rhai",
+ "type": "string"
+ },
+ "script": {
+ "description": "Script path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "script"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A reviewed WASM module in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the module speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "wasm",
+ "type": "string"
+ },
+ "module": {
+ "description": "Module path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "module"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A logical destination bound to a URL and a secret at runtime. The\nruntime names the binding it looks the key up in; the project carries\nno URL or secret.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in the runtime destination binding.",
+ "type": "string"
+ },
+ "kind": {
+ "const": "url",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "HookPhase": {
+ "description": "When the hook runs relative to the triggering transaction.",
+ "oneOf": [
+ {
+ "const": "before",
+ "description": "Runs inside the triggering transaction and may refuse or shape the\nchange. Local handler kinds only.",
+ "type": "string"
+ },
+ {
+ "const": "after",
+ "description": "Runs after commit in the post-commit worker and cannot affect the\ntriggering transaction.",
+ "type": "string"
+ }
+ ]
+ },
+ "HookSource": {
+ "additionalProperties": false,
+ "description": "One declared hook on an entity.\n\nThe shape is [`registry_platform_hooks::HookDeclaration`] with `trigger`\nand `when` closed to the vocabulary this compiler validates, and with\n`handler` optional. A hook that declares no handler is still recorded in\nthe outbox and delivered nowhere; production compilation refuses that.\n\nEntity hooks run after the triggering transaction commits, so `phase` is\nwritten and the compiler refuses any value it cannot run.",
+ "properties": {
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/HookHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Governed, destination-neutral delivery. `destinationId` is a key in\nruntime `eventDestinations`; the project carries no URL or secret, and\ndeployment configuration may tighten the bounds it binds but cannot\nsupply or widen this authority. Production compilation requires it."
+ },
+ "id": {
+ "description": "Stable hook contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "phase": {
+ "$ref": "#/$defs/HookPhase",
+ "description": "When the hook runs relative to the triggering transaction."
+ },
+ "principal": {
+ "description": "The access profile a proposal from this hook is applied under.\nOptional: a hook that declares none is a non-proposing hook, and a\nproposal from one is refused and dead-lettered at delivery time.\nDeclaring none is not an authoring error.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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 hook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to run on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "phase",
+ "trigger",
+ "projection"
+ ],
+ "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"
+ },
+ "NormalizationStep": {
+ "description": "A normalization step applied to the canonical string form of an encrypted\nvalue before its blind index is derived. The vocabulary is closed.",
+ "oneOf": [
+ {
+ "enum": [
+ "trim",
+ "uppercase",
+ "lowercase",
+ "collapse-whitespace"
+ ],
+ "type": "string"
+ },
+ {
+ "const": "remove-separators",
+ "description": "Strips spaces, hyphens, slashes, and dots from the canonical form.",
+ "type": "string"
+ }
+ ]
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "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"
+ }
+ ]
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ }
+ },
+ "$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/contexts/index.json b/public/contexts/index.json
index ca17c922..ef6b4b88 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/registry-record/profile/registry-record-v1.md",
"sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
},
diff --git a/public/index.html b/public/index.html
index b3d7cffd..6a2e3cee 100644
--- a/public/index.html
+++ b/public/index.html
@@ -43,7 +43,7 @@
Catalogs
- 271 identifiers
+ 312 identifiers
RFC 9457 problem type URIs with a stable code for programmatic branching.
@@ -53,7 +53,7 @@
- 11 identifiers
+ 12 identifiers
JSON Schema documents, published at their canonical URI.
diff --git a/public/namespaces/index.json b/public/namespaces/index.json
index 67a2274e..608a2965 100644
--- a/public/namespaces/index.json
+++ b/public/namespaces/index.json
@@ -10,7 +10,7 @@
"owner": "registry-manifest",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-manifest-core/src/lib.rs",
"sha256": "a8d8c58eb9f2eb10db68b26c9e285a11fa3f531d98bab19ecab52e2a37e4b17f"
},
diff --git a/public/ns/registry-manifest/v1.json b/public/ns/registry-manifest/v1.json
index 6bf16107..f806c947 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 41c68910..c66d4b86 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-manifest-core/src/lib.rs",
"sha256": "a8d8c58eb9f2eb10db68b26c9e285a11fa3f531d98bab19ecab52e2a37e4b17f"
},
diff --git a/public/problems/index.html b/public/problems/index.html
index b2b99d94..858ed251 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.
- 271 published identifiers
+ 312 published identifiers
diff --git a/public/problems/index.json b/public/problems/index.json
index c5b615a3..8779367d 100644
--- a/public/problems/index.json
+++ b/public/problems/index.json
@@ -39,9 +39,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -83,9 +83,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -127,9 +127,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -171,9 +171,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -215,9 +215,229 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/chunk_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/chunk_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.chunk_mismatch",
+ "title": "Conflict",
+ "summary": "The chunk does not match the expected next chunk.",
+ "description": "The chunk does not match the expected next chunk.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/profile_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/profile_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.profile_mismatch",
+ "title": "Forbidden",
+ "summary": "The selected access profile does not match the run's bound profile.",
+ "description": "The selected access profile does not match the run's bound profile.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/receipt_erased",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/receipt_erased",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.receipt_erased",
+ "title": "Gone",
+ "summary": "The stored receipt of the chunk was erased.",
+ "description": "The stored receipt of the chunk was erased.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/run_blocked",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/run_blocked",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.run_blocked",
+ "title": "Conflict",
+ "summary": "The active package no longer matches the run binding.",
+ "description": "The active package no longer matches the run binding.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/run_not_open",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/run_not_open",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.run_not_open",
+ "title": "Conflict",
+ "summary": "The ingestion run is not open for this transition.",
+ "description": "The ingestion run is not open for this transition.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -259,9 +479,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -303,9 +523,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -347,9 +567,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -391,9 +611,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -435,9 +655,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -479,9 +699,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -523,9 +743,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -567,9 +787,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -611,9 +831,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -655,9 +875,53 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-breg/runtime/field_encryption/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-breg/runtime/field_encryption/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "runtime.field_encryption.unavailable",
+ "title": "Service Unavailable",
+ "summary": "The Registry field-encryption service is unavailable.",
+ "description": "The Registry field-encryption service 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -699,9 +963,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -743,9 +1007,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -787,9 +1051,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -831,9 +1095,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -875,9 +1139,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -919,9 +1183,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -963,9 +1227,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1007,9 +1271,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1051,9 +1315,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1095,9 +1359,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1139,9 +1403,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1183,9 +1447,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1227,9 +1491,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1271,9 +1535,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1315,9 +1579,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1359,9 +1623,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1403,9 +1667,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1447,9 +1711,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1491,9 +1755,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1535,9 +1799,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1579,9 +1843,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1623,9 +1887,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1667,9 +1931,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1711,9 +1975,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1755,9 +2019,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1799,9 +2063,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1843,25 +2107,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
- "type": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
+ "id": "https://id.registrystack.org/problems/registry-casework/review/result-expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/result-expired",
"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.",
+ "code": "review.result-expired",
+ "title": "Review result expired",
+ "summary": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
+ "description": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
"category": null,
"http_statuses": [
- 500
+ 410
],
"guidance": {
"status": "not_published",
@@ -1887,25 +2151,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
- "type": "https://id.registrystack.org/problems/registry-casework/service/unavailable",
+ "id": "https://id.registrystack.org/problems/registry-casework/review/submission-conflict",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/submission-conflict",
"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.",
+ "code": "review.submission-conflict",
+ "title": "Review submission conflict",
+ "summary": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
+ "description": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
"category": null,
"http_statuses": [
- 503
+ 409
],
"guidance": {
"status": "not_published",
@@ -1931,25 +2195,25 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
- "type": "https://id.registrystack.org/problems/registry-casework/source-profile/not-applicable",
+ "id": "https://id.registrystack.org/problems/registry-casework/review/task-not-held",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/task-not-held",
"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.",
+ "code": "review.task-not-held",
+ "title": "Review task not held",
+ "summary": "Claim the review task before deciding it, and decide only while the claim remains current.",
+ "description": "Claim the review task before deciding it, and decide only while the claim remains current.",
"category": null,
"http_statuses": [
- 400
+ 409
],
"guidance": {
"status": "not_published",
@@ -1975,22 +2239,154 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
- "id": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
- "type": "https://id.registrystack.org/problems/registry-casework/source-profile/required",
+ "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": "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.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+ },
+ {
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+ },
+ {
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+ },
+ {
+ "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
@@ -2019,9 +2415,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2063,9 +2459,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2107,9 +2503,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2151,9 +2547,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2195,9 +2591,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2239,9 +2635,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2283,9 +2679,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2327,9 +2723,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2371,9 +2767,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2415,9 +2811,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2459,9 +2855,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2503,9 +2899,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2547,9 +2943,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2591,9 +2987,9 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -2635,7 +3031,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -2679,7 +3075,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -2723,7 +3119,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -2767,7 +3163,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -2811,7 +3207,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -2855,7 +3251,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -2899,7 +3295,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -2943,7 +3339,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -2987,7 +3383,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -3031,7 +3427,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -3075,7 +3471,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -3119,7 +3515,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -3163,7 +3559,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -3207,7 +3603,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -6454,7 +6850,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -6506,7 +6902,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -6558,7 +6954,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -6610,7 +7006,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -6917,7 +7313,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -7173,7 +7569,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -7429,7 +7825,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -7991,7 +8387,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -8043,7 +8439,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -8095,7 +8491,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -8147,7 +8543,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -8199,7 +8595,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -8353,7 +8749,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -8609,7 +9005,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -8712,7 +9108,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -9070,7 +9466,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -9122,7 +9518,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -9174,7 +9570,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -9226,7 +9622,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -11165,7 +11561,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -11217,7 +11613,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -11269,7 +11665,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -11321,7 +11717,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -11373,7 +11769,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -12139,7 +12535,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -12191,7 +12587,7 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -12756,6 +13152,1414 @@
"path": "src/catalogs/problems.json",
"sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/authentication/refused",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/authentication/refused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/booking/duplicate-active",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/booking/duplicate-active",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "booking.duplicate-active",
+ "title": "Duplicate active booking",
+ "summary": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking again.",
+ "description": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/cancellation/cutoff-passed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cancellation/cutoff-passed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "cancellation.cutoff-passed",
+ "title": "Cancellation cutoff passed",
+ "summary": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
+ "description": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/capability/unmatched",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/capability/unmatched",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "capability.unmatched",
+ "title": "Capability unmatched",
+ "summary": "The party or backing supply does not carry every capability this offering requires.",
+ "description": "The party or backing supply does not carry every capability this offering requires.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/capacity/exhausted",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/capacity/exhausted",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "capacity.exhausted",
+ "title": "Capacity exhausted",
+ "summary": "The supply is fully committed for the requested interval. Choose another time.",
+ "description": "The supply is fully committed for the requested interval. Choose another time.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/cursor/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cursor/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "cursor.expired",
+ "title": "Cursor expired",
+ "summary": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/cursor/invalid",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cursor/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/eligibility/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/eligibility/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "eligibility.unavailable",
+ "title": "Eligibility unavailable",
+ "summary": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "description": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/hold/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hold/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hold.expired",
+ "title": "Hold expired",
+ "summary": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "description": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/hold/released",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hold/released",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hold.released",
+ "title": "Hold released",
+ "summary": "The claim is not an active hold. It may already be confirmed or released.",
+ "description": "The claim is not an active hold. It may already be confirmed or released.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/hook/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hook/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hook.unavailable",
+ "title": "Hook unavailable",
+ "summary": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "description": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/horizon/outside",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/horizon/outside",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "horizon.outside",
+ "title": "Start outside the booking horizon",
+ "summary": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "description": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/idempotency/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/idempotency/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/idempotency/key-reused",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/idempotency/key-reused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/location/closed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/location/closed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "location.closed",
+ "title": "Location closed",
+ "summary": "A closure covers the requested start. Choose a start outside the closure.",
+ "description": "A closure covers the requested start. Choose a start outside the closure.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/operation/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/operation/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "operation.not-authorized",
+ "title": "Operation not authorized",
+ "summary": "Your current Scheduling authority does not allow this operation.",
+ "description": "Your current Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/party/capacity-inadequate",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/party/capacity-inadequate",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "party.capacity-inadequate",
+ "title": "Party capacity inadequate",
+ "summary": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "description": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/policy/changed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/policy/changed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "policy.changed",
+ "title": "Policy changed",
+ "summary": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "description": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/precondition/failed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/precondition/failed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "precondition.failed",
+ "title": "Precondition failed",
+ "summary": "The appointment changed since you loaded it. Reload and try again.",
+ "description": "The appointment 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/precondition/required",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/precondition/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "precondition.required",
+ "title": "Precondition required",
+ "summary": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "description": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/prerequisite/missing",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/prerequisite/missing",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "prerequisite.missing",
+ "title": "Prerequisite missing",
+ "summary": "The party is missing a prerequisite this offering requires.",
+ "description": "The party is missing a prerequisite this offering requires.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/profile/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/profile/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "profile.not-authorized",
+ "title": "Profile not authorized",
+ "summary": "The selected Scheduling profile does not authorize this request.",
+ "description": "The selected Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.body-too-large",
+ "title": "Payload too large",
+ "summary": "The request body exceeds the accepted size.",
+ "description": "The request body exceeds the accepted size.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.invalid",
+ "title": "Request invalid",
+ "summary": "The request could not be read as a Scheduling request.",
+ "description": "The request could not be read as a Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/method-not-allowed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/method-not-allowed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.method-not-allowed",
+ "title": "Method not allowed",
+ "summary": "The route exists but not for this method.",
+ "description": "The route exists but not for this 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/not-found",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.not-found",
+ "title": "Route not found",
+ "summary": "The requested route does not exist.",
+ "description": "The requested 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/unprocessable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/unprocessable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.unprocessable",
+ "title": "Request unprocessable",
+ "summary": "The request body could not be processed.",
+ "description": "The request body could not be processed.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/unsupported-media-type",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/unsupported-media-type",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.unsupported-media-type",
+ "title": "Unsupported media type",
+ "summary": "The request body is not JSON.",
+ "description": "The request body is not 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/resource/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/resource/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "resource.unavailable",
+ "title": "Resource unavailable",
+ "summary": "Every capable member is unavailable for this interval.",
+ "description": "Every capable member is unavailable for this interval.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/revision/mismatch",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/revision/mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "revision.mismatch",
+ "title": "Revision mismatch",
+ "summary": "The window revision changed before the request committed. Reload the catalogue and try again.",
+ "description": "The window revision changed before the request committed. Reload the catalogue 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/schedule/unpublished",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/schedule/unpublished",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "schedule.unpublished",
+ "title": "Schedule unpublished",
+ "summary": "No published schedule serves that start. Choose a start on the published grid.",
+ "description": "No published schedule serves that start. Choose a start on the published grid.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "id": "https://id.registrystack.org/problems/registry-scheduling/service/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/service/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "service.unavailable",
+ "title": "Scheduling service unavailable",
+ "summary": "Scheduling storage is unavailable. Try again after the service recovers.",
+ "description": "Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
}
]
}
diff --git a/public/problems/registry-breg/action/evidence_failed.json b/public/problems/registry-breg/action/evidence_failed.json
index a49df145..ce7a1953 100644
--- a/public/problems/registry-breg/action/evidence_failed.json
+++ b/public/problems/registry-breg/action/evidence_failed.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/action/evidence_failed/index.html b/public/problems/registry-breg/action/evidence_failed/index.html
index 14b66dbd..cb6390f0 100644
--- a/public/problems/registry-breg/action/evidence_failed/index.html
+++ b/public/problems/registry-breg/action/evidence_failed/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/action/handler_failed.json b/public/problems/registry-breg/action/handler_failed.json
index bee6e6dd..ef2331f4 100644
--- a/public/problems/registry-breg/action/handler_failed.json
+++ b/public/problems/registry-breg/action/handler_failed.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/action/handler_failed/index.html b/public/problems/registry-breg/action/handler_failed/index.html
index f8cbc914..fc3d56be 100644
--- a/public/problems/registry-breg/action/handler_failed/index.html
+++ b/public/problems/registry-breg/action/handler_failed/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/action/refused.json b/public/problems/registry-breg/action/refused.json
index 443b8a7a..63d9c301 100644
--- a/public/problems/registry-breg/action/refused.json
+++ b/public/problems/registry-breg/action/refused.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/action/refused/index.html b/public/problems/registry-breg/action/refused/index.html
index 567d4b77..e49025af 100644
--- a/public/problems/registry-breg/action/refused/index.html
+++ b/public/problems/registry-breg/action/refused/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/authentication/refused.json b/public/problems/registry-breg/authentication/refused.json
index 135f1e6f..62c3a3ac 100644
--- a/public/problems/registry-breg/authentication/refused.json
+++ b/public/problems/registry-breg/authentication/refused.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/authentication/refused/index.html b/public/problems/registry-breg/authentication/refused/index.html
index 08958640..ece94e5e 100644
--- a/public/problems/registry-breg/authentication/refused/index.html
+++ b/public/problems/registry-breg/authentication/refused/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/idempotency/conflict.json b/public/problems/registry-breg/idempotency/conflict.json
index 2809a87c..65c02c9d 100644
--- a/public/problems/registry-breg/idempotency/conflict.json
+++ b/public/problems/registry-breg/idempotency/conflict.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/idempotency/conflict/index.html b/public/problems/registry-breg/idempotency/conflict/index.html
index 21a4ec7f..31edfe07 100644
--- a/public/problems/registry-breg/idempotency/conflict/index.html
+++ b/public/problems/registry-breg/idempotency/conflict/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/ingestion/chunk_mismatch.json b/public/problems/registry-breg/ingestion/chunk_mismatch.json
new file mode 100644
index 00000000..0f0d92a6
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/chunk_mismatch.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/chunk_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/chunk_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.chunk_mismatch",
+ "title": "Conflict",
+ "summary": "The chunk does not match the expected next chunk.",
+ "description": "The chunk does not match the expected next chunk.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
diff --git a/public/problems/registry-breg/ingestion/chunk_mismatch/index.html b/public/problems/registry-breg/ingestion/chunk_mismatch/index.html
new file mode 100644
index 00000000..b11d94a4
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/chunk_mismatch/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Conflict | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-breg
+
Conflict
+
The chunk does not match the expected next chunk.
+
https://id.registrystack.org/problems/registry-breg/ingestion/chunk_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-breg/ingestion/chunk_mismatch
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-breg
+ Code ingestion.chunk_mismatch
+ 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-breg/ingestion/chunk_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/chunk_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.chunk_mismatch",
+ "title": "Conflict",
+ "summary": "The chunk does not match the expected next chunk.",
+ "description": "The chunk does not match the expected next chunk.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-breg/ingestion/profile_mismatch.json b/public/problems/registry-breg/ingestion/profile_mismatch.json
new file mode 100644
index 00000000..8ff3f608
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/profile_mismatch.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/profile_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/profile_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.profile_mismatch",
+ "title": "Forbidden",
+ "summary": "The selected access profile does not match the run's bound profile.",
+ "description": "The selected access profile does not match the run's bound profile.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
diff --git a/public/problems/registry-breg/ingestion/profile_mismatch/index.html b/public/problems/registry-breg/ingestion/profile_mismatch/index.html
new file mode 100644
index 00000000..25b61907
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/profile_mismatch/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Forbidden | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-breg
+
Forbidden
+
The selected access profile does not match the run's bound profile.
+
https://id.registrystack.org/problems/registry-breg/ingestion/profile_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-breg/ingestion/profile_mismatch
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-breg
+ Code ingestion.profile_mismatch
+ 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-breg/ingestion/profile_mismatch",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/profile_mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.profile_mismatch",
+ "title": "Forbidden",
+ "summary": "The selected access profile does not match the run's bound profile.",
+ "description": "The selected access profile does not match the run's bound profile.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-breg/ingestion/receipt_erased.json b/public/problems/registry-breg/ingestion/receipt_erased.json
new file mode 100644
index 00000000..c1fe0cc0
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/receipt_erased.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/receipt_erased",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/receipt_erased",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.receipt_erased",
+ "title": "Gone",
+ "summary": "The stored receipt of the chunk was erased.",
+ "description": "The stored receipt of the chunk was erased.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
diff --git a/public/problems/registry-breg/ingestion/receipt_erased/index.html b/public/problems/registry-breg/ingestion/receipt_erased/index.html
new file mode 100644
index 00000000..cb7e088f
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/receipt_erased/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Gone | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-breg
+
Gone
+
The stored receipt of the chunk was erased.
+
https://id.registrystack.org/problems/registry-breg/ingestion/receipt_erased
+
+
+
+
+ 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-breg/ingestion/receipt_erased
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-breg
+ Code ingestion.receipt_erased
+ 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-breg/ingestion/receipt_erased",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/receipt_erased",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.receipt_erased",
+ "title": "Gone",
+ "summary": "The stored receipt of the chunk was erased.",
+ "description": "The stored receipt of the chunk was erased.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-breg/ingestion/run_blocked.json b/public/problems/registry-breg/ingestion/run_blocked.json
new file mode 100644
index 00000000..3ab879d2
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/run_blocked.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/run_blocked",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/run_blocked",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.run_blocked",
+ "title": "Conflict",
+ "summary": "The active package no longer matches the run binding.",
+ "description": "The active package no longer matches the run binding.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
diff --git a/public/problems/registry-breg/ingestion/run_blocked/index.html b/public/problems/registry-breg/ingestion/run_blocked/index.html
new file mode 100644
index 00000000..46fb014b
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/run_blocked/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Conflict | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-breg
+
Conflict
+
The active package no longer matches the run binding.
+
https://id.registrystack.org/problems/registry-breg/ingestion/run_blocked
+
+
+
+
+ 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-breg/ingestion/run_blocked
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-breg
+ Code ingestion.run_blocked
+ 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-breg/ingestion/run_blocked",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/run_blocked",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.run_blocked",
+ "title": "Conflict",
+ "summary": "The active package no longer matches the run binding.",
+ "description": "The active package no longer matches the run binding.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-breg/ingestion/run_not_open.json b/public/problems/registry-breg/ingestion/run_not_open.json
new file mode 100644
index 00000000..98cac76e
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/run_not_open.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-breg/ingestion/run_not_open",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/run_not_open",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.run_not_open",
+ "title": "Conflict",
+ "summary": "The ingestion run is not open for this transition.",
+ "description": "The ingestion run is not open for this transition.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
diff --git a/public/problems/registry-breg/ingestion/run_not_open/index.html b/public/problems/registry-breg/ingestion/run_not_open/index.html
new file mode 100644
index 00000000..3fcdddb9
--- /dev/null
+++ b/public/problems/registry-breg/ingestion/run_not_open/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Conflict | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-breg
+
Conflict
+
The ingestion run is not open for this transition.
+
https://id.registrystack.org/problems/registry-breg/ingestion/run_not_open
+
+
+
+
+ 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-breg/ingestion/run_not_open
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-breg
+ Code ingestion.run_not_open
+ 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-breg/ingestion/run_not_open",
+ "type": "https://id.registrystack.org/problems/registry-breg/ingestion/run_not_open",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "ingestion.run_not_open",
+ "title": "Conflict",
+ "summary": "The ingestion run is not open for this transition.",
+ "description": "The ingestion run is not open for this transition.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-breg/lookup/unresolved.json b/public/problems/registry-breg/lookup/unresolved.json
index 9bac37df..b101294e 100644
--- a/public/problems/registry-breg/lookup/unresolved.json
+++ b/public/problems/registry-breg/lookup/unresolved.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/lookup/unresolved/index.html b/public/problems/registry-breg/lookup/unresolved/index.html
index f6966b2f..e9f79391 100644
--- a/public/problems/registry-breg/lookup/unresolved/index.html
+++ b/public/problems/registry-breg/lookup/unresolved/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/mutation/conflict.json b/public/problems/registry-breg/mutation/conflict.json
index 9127d796..2fc2da78 100644
--- a/public/problems/registry-breg/mutation/conflict.json
+++ b/public/problems/registry-breg/mutation/conflict.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/mutation/conflict/index.html b/public/problems/registry-breg/mutation/conflict/index.html
index 57bc1523..1c89cbd9 100644
--- a/public/problems/registry-breg/mutation/conflict/index.html
+++ b/public/problems/registry-breg/mutation/conflict/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/precondition/failed.json b/public/problems/registry-breg/precondition/failed.json
index db85befd..844e278a 100644
--- a/public/problems/registry-breg/precondition/failed.json
+++ b/public/problems/registry-breg/precondition/failed.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/precondition/failed/index.html b/public/problems/registry-breg/precondition/failed/index.html
index 3e4e948e..bc949b6c 100644
--- a/public/problems/registry-breg/precondition/failed/index.html
+++ b/public/problems/registry-breg/precondition/failed/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/precondition/required.json b/public/problems/registry-breg/precondition/required.json
index 3dac4fa3..71d3e408 100644
--- a/public/problems/registry-breg/precondition/required.json
+++ b/public/problems/registry-breg/precondition/required.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/precondition/required/index.html b/public/problems/registry-breg/precondition/required/index.html
index d83d32d4..a55f5a53 100644
--- a/public/problems/registry-breg/precondition/required/index.html
+++ b/public/problems/registry-breg/precondition/required/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/query/cursor_invalid.json b/public/problems/registry-breg/query/cursor_invalid.json
index 1f7b6da0..1b542622 100644
--- a/public/problems/registry-breg/query/cursor_invalid.json
+++ b/public/problems/registry-breg/query/cursor_invalid.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/query/cursor_invalid/index.html b/public/problems/registry-breg/query/cursor_invalid/index.html
index 965251bc..52c6253c 100644
--- a/public/problems/registry-breg/query/cursor_invalid/index.html
+++ b/public/problems/registry-breg/query/cursor_invalid/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/query/invalid.json b/public/problems/registry-breg/query/invalid.json
index 3260b085..8241f139 100644
--- a/public/problems/registry-breg/query/invalid.json
+++ b/public/problems/registry-breg/query/invalid.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/query/invalid/index.html b/public/problems/registry-breg/query/invalid/index.html
index 4ab3cd08..6317d395 100644
--- a/public/problems/registry-breg/query/invalid/index.html
+++ b/public/problems/registry-breg/query/invalid/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/request/invalid.json b/public/problems/registry-breg/request/invalid.json
index ed76294b..77b1ae37 100644
--- a/public/problems/registry-breg/request/invalid.json
+++ b/public/problems/registry-breg/request/invalid.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/request/invalid/index.html b/public/problems/registry-breg/request/invalid/index.html
index 55693838..56c3bfc4 100644
--- a/public/problems/registry-breg/request/invalid/index.html
+++ b/public/problems/registry-breg/request/invalid/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/request/plan_refused.json b/public/problems/registry-breg/request/plan_refused.json
index 7767d563..cc21819f 100644
--- a/public/problems/registry-breg/request/plan_refused.json
+++ b/public/problems/registry-breg/request/plan_refused.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/request/plan_refused/index.html b/public/problems/registry-breg/request/plan_refused/index.html
index 0da8d004..9d0f8217 100644
--- a/public/problems/registry-breg/request/plan_refused/index.html
+++ b/public/problems/registry-breg/request/plan_refused/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/request/timeout.json b/public/problems/registry-breg/request/timeout.json
index fe68a7f3..cfd6fdb2 100644
--- a/public/problems/registry-breg/request/timeout.json
+++ b/public/problems/registry-breg/request/timeout.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/request/timeout/index.html b/public/problems/registry-breg/request/timeout/index.html
index 93281b5b..e9534741 100644
--- a/public/problems/registry-breg/request/timeout/index.html
+++ b/public/problems/registry-breg/request/timeout/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/resource/not_found.json b/public/problems/registry-breg/resource/not_found.json
index bab313aa..db0888be 100644
--- a/public/problems/registry-breg/resource/not_found.json
+++ b/public/problems/registry-breg/resource/not_found.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/resource/not_found/index.html b/public/problems/registry-breg/resource/not_found/index.html
index b2f249c1..46c961ca 100644
--- a/public/problems/registry-breg/resource/not_found/index.html
+++ b/public/problems/registry-breg/resource/not_found/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/runtime/field_encryption/unavailable.json b/public/problems/registry-breg/runtime/field_encryption/unavailable.json
new file mode 100644
index 00000000..dac90bda
--- /dev/null
+++ b/public/problems/registry-breg/runtime/field_encryption/unavailable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-breg/runtime/field_encryption/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-breg/runtime/field_encryption/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "runtime.field_encryption.unavailable",
+ "title": "Service Unavailable",
+ "summary": "The Registry field-encryption service is unavailable.",
+ "description": "The Registry field-encryption service 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
diff --git a/public/problems/registry-breg/runtime/field_encryption/unavailable/index.html b/public/problems/registry-breg/runtime/field_encryption/unavailable/index.html
new file mode 100644
index 00000000..4eca19e8
--- /dev/null
+++ b/public/problems/registry-breg/runtime/field_encryption/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Service Unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-breg
+
Service Unavailable
+
The Registry field-encryption service is unavailable.
+
https://id.registrystack.org/problems/registry-breg/runtime/field_encryption/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-breg/runtime/field_encryption/unavailable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-breg
+ Code runtime.field_encryption.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-breg/runtime/field_encryption/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-breg/runtime/field_encryption/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-breg",
+ "code": "runtime.field_encryption.unavailable",
+ "title": "Service Unavailable",
+ "summary": "The Registry field-encryption service is unavailable.",
+ "description": "The Registry field-encryption service 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-breg/runtime/not_ready.json b/public/problems/registry-breg/runtime/not_ready.json
index 458be6a7..07dce2c0 100644
--- a/public/problems/registry-breg/runtime/not_ready.json
+++ b/public/problems/registry-breg/runtime/not_ready.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/runtime/not_ready/index.html b/public/problems/registry-breg/runtime/not_ready/index.html
index 0e545e65..a24bf2aa 100644
--- a/public/problems/registry-breg/runtime/not_ready/index.html
+++ b/public/problems/registry-breg/runtime/not_ready/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/service/unavailable.json b/public/problems/registry-breg/service/unavailable.json
index 57a123fa..f2cefab7 100644
--- a/public/problems/registry-breg/service/unavailable.json
+++ b/public/problems/registry-breg/service/unavailable.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/service/unavailable/index.html b/public/problems/registry-breg/service/unavailable/index.html
index 4df8f2f2..99756c06 100644
--- a/public/problems/registry-breg/service/unavailable/index.html
+++ b/public/problems/registry-breg/service/unavailable/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/source/unavailable.json b/public/problems/registry-breg/source/unavailable.json
index 0fd7c4e5..2f83cfd9 100644
--- a/public/problems/registry-breg/source/unavailable.json
+++ b/public/problems/registry-breg/source/unavailable.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/source/unavailable/index.html b/public/problems/registry-breg/source/unavailable/index.html
index 4873c459..e454962f 100644
--- a/public/problems/registry-breg/source/unavailable/index.html
+++ b/public/problems/registry-breg/source/unavailable/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-breg/unsupported/media_type.json b/public/problems/registry-breg/unsupported/media_type.json
index ef905a5a..11b8b68e 100644
--- a/public/problems/registry-breg/unsupported/media_type.json
+++ b/public/problems/registry-breg/unsupported/media_type.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
diff --git a/public/problems/registry-breg/unsupported/media_type/index.html b/public/problems/registry-breg/unsupported/media_type/index.html
index 264bdd51..5a80df20 100644
--- a/public/problems/registry-breg/unsupported/media_type/index.html
+++ b/public/problems/registry-breg/unsupported/media_type/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/absence/cover-cycle.json b/public/problems/registry-casework/absence/cover-cycle.json
index 8006613e..ff566d14 100644
--- a/public/problems/registry-casework/absence/cover-cycle.json
+++ b/public/problems/registry-casework/absence/cover-cycle.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/absence/cover-cycle/index.html b/public/problems/registry-casework/absence/cover-cycle/index.html
index d4c40e6e..cd799a8e 100644
--- a/public/problems/registry-casework/absence/cover-cycle/index.html
+++ b/public/problems/registry-casework/absence/cover-cycle/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/absence/invalid-period.json b/public/problems/registry-casework/absence/invalid-period.json
index 0af3740a..e6e1ea0e 100644
--- a/public/problems/registry-casework/absence/invalid-period.json
+++ b/public/problems/registry-casework/absence/invalid-period.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/absence/invalid-period/index.html b/public/problems/registry-casework/absence/invalid-period/index.html
index 8bc9a559..c4db2586 100644
--- a/public/problems/registry-casework/absence/invalid-period/index.html
+++ b/public/problems/registry-casework/absence/invalid-period/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/absence/overlap.json b/public/problems/registry-casework/absence/overlap.json
index c7fa7ebe..2a3fd5ff 100644
--- a/public/problems/registry-casework/absence/overlap.json
+++ b/public/problems/registry-casework/absence/overlap.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/absence/overlap/index.html b/public/problems/registry-casework/absence/overlap/index.html
index 12add030..26ec6f57 100644
--- a/public/problems/registry-casework/absence/overlap/index.html
+++ b/public/problems/registry-casework/absence/overlap/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/absence/self-cover.json b/public/problems/registry-casework/absence/self-cover.json
index 60a30cec..19f6164d 100644
--- a/public/problems/registry-casework/absence/self-cover.json
+++ b/public/problems/registry-casework/absence/self-cover.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/absence/self-cover/index.html b/public/problems/registry-casework/absence/self-cover/index.html
index 142088f2..4a307c86 100644
--- a/public/problems/registry-casework/absence/self-cover/index.html
+++ b/public/problems/registry-casework/absence/self-cover/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/authentication/refused.json b/public/problems/registry-casework/authentication/refused.json
index 9fc945b2..244999dc 100644
--- a/public/problems/registry-casework/authentication/refused.json
+++ b/public/problems/registry-casework/authentication/refused.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/authentication/refused/index.html b/public/problems/registry-casework/authentication/refused/index.html
index 87045752..7a6e6161 100644
--- a/public/problems/registry-casework/authentication/refused/index.html
+++ b/public/problems/registry-casework/authentication/refused/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 72f84b48..f50ab268 100644
--- a/public/problems/registry-casework/clock/recompute-preview-expired.json
+++ b/public/problems/registry-casework/clock/recompute-preview-expired.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/clock/recompute-preview-expired/index.html b/public/problems/registry-casework/clock/recompute-preview-expired/index.html
index 21f2369f..021b34a8 100644
--- a/public/problems/registry-casework/clock/recompute-preview-expired/index.html
+++ b/public/problems/registry-casework/clock/recompute-preview-expired/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/cursor/expired.json b/public/problems/registry-casework/cursor/expired.json
index 71f4da6c..605988d2 100644
--- a/public/problems/registry-casework/cursor/expired.json
+++ b/public/problems/registry-casework/cursor/expired.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/cursor/expired/index.html b/public/problems/registry-casework/cursor/expired/index.html
index 2b47f48b..859c88ca 100644
--- a/public/problems/registry-casework/cursor/expired/index.html
+++ b/public/problems/registry-casework/cursor/expired/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/cursor/invalid.json b/public/problems/registry-casework/cursor/invalid.json
index 97472d84..b6299409 100644
--- a/public/problems/registry-casework/cursor/invalid.json
+++ b/public/problems/registry-casework/cursor/invalid.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/cursor/invalid/index.html b/public/problems/registry-casework/cursor/invalid/index.html
index d55fac1d..8b0d1943 100644
--- a/public/problems/registry-casework/cursor/invalid/index.html
+++ b/public/problems/registry-casework/cursor/invalid/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/idempotency/expired.json b/public/problems/registry-casework/idempotency/expired.json
index 4cc6ec77..a46c52b5 100644
--- a/public/problems/registry-casework/idempotency/expired.json
+++ b/public/problems/registry-casework/idempotency/expired.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/idempotency/expired/index.html b/public/problems/registry-casework/idempotency/expired/index.html
index b17392af..f53c18ff 100644
--- a/public/problems/registry-casework/idempotency/expired/index.html
+++ b/public/problems/registry-casework/idempotency/expired/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/idempotency/key-reused.json b/public/problems/registry-casework/idempotency/key-reused.json
index 6d1291ca..00af31e9 100644
--- a/public/problems/registry-casework/idempotency/key-reused.json
+++ b/public/problems/registry-casework/idempotency/key-reused.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/idempotency/key-reused/index.html b/public/problems/registry-casework/idempotency/key-reused/index.html
index 51ff5a7f..bd6cfd91 100644
--- a/public/problems/registry-casework/idempotency/key-reused/index.html
+++ b/public/problems/registry-casework/idempotency/key-reused/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/operation/not-authorized.json b/public/problems/registry-casework/operation/not-authorized.json
index 3fc47c12..067fb65b 100644
--- a/public/problems/registry-casework/operation/not-authorized.json
+++ b/public/problems/registry-casework/operation/not-authorized.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/operation/not-authorized/index.html b/public/problems/registry-casework/operation/not-authorized/index.html
index bdb6f31e..d679ec0f 100644
--- a/public/problems/registry-casework/operation/not-authorized/index.html
+++ b/public/problems/registry-casework/operation/not-authorized/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/precondition/failed.json b/public/problems/registry-casework/precondition/failed.json
index 973cd61b..0b987be5 100644
--- a/public/problems/registry-casework/precondition/failed.json
+++ b/public/problems/registry-casework/precondition/failed.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/precondition/failed/index.html b/public/problems/registry-casework/precondition/failed/index.html
index 9c7a6ef1..09dbafe7 100644
--- a/public/problems/registry-casework/precondition/failed/index.html
+++ b/public/problems/registry-casework/precondition/failed/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/precondition/required.json b/public/problems/registry-casework/precondition/required.json
index 33e75a56..b6e75112 100644
--- a/public/problems/registry-casework/precondition/required.json
+++ b/public/problems/registry-casework/precondition/required.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/precondition/required/index.html b/public/problems/registry-casework/precondition/required/index.html
index d4ddd78c..0b46e131 100644
--- a/public/problems/registry-casework/precondition/required/index.html
+++ b/public/problems/registry-casework/precondition/required/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/profile/not-authorized.json b/public/problems/registry-casework/profile/not-authorized.json
index 23afe2aa..b6e6f25a 100644
--- a/public/problems/registry-casework/profile/not-authorized.json
+++ b/public/problems/registry-casework/profile/not-authorized.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/profile/not-authorized/index.html b/public/problems/registry-casework/profile/not-authorized/index.html
index b5902bcb..f378231e 100644
--- a/public/problems/registry-casework/profile/not-authorized/index.html
+++ b/public/problems/registry-casework/profile/not-authorized/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/profile/not-human.json b/public/problems/registry-casework/profile/not-human.json
index 519a85d0..56a99757 100644
--- a/public/problems/registry-casework/profile/not-human.json
+++ b/public/problems/registry-casework/profile/not-human.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/profile/not-human/index.html b/public/problems/registry-casework/profile/not-human/index.html
index 92586a9d..7d3cef04 100644
--- a/public/problems/registry-casework/profile/not-human/index.html
+++ b/public/problems/registry-casework/profile/not-human/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 9f78ac68..a1926d7c 100644
--- a/public/problems/registry-casework/request/body-too-large.json
+++ b/public/problems/registry-casework/request/body-too-large.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/body-too-large/index.html b/public/problems/registry-casework/request/body-too-large/index.html
index 16fa00f3..ea80e00d 100644
--- a/public/problems/registry-casework/request/body-too-large/index.html
+++ b/public/problems/registry-casework/request/body-too-large/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/request/invalid.json b/public/problems/registry-casework/request/invalid.json
index 8f3918b6..928db8f5 100644
--- a/public/problems/registry-casework/request/invalid.json
+++ b/public/problems/registry-casework/request/invalid.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/invalid/index.html b/public/problems/registry-casework/request/invalid/index.html
index 3141ee18..467694c0 100644
--- a/public/problems/registry-casework/request/invalid/index.html
+++ b/public/problems/registry-casework/request/invalid/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index a70d8861..03f8d577 100644
--- a/public/problems/registry-casework/request/method-not-allowed.json
+++ b/public/problems/registry-casework/request/method-not-allowed.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/method-not-allowed/index.html b/public/problems/registry-casework/request/method-not-allowed/index.html
index f4745735..329d2723 100644
--- a/public/problems/registry-casework/request/method-not-allowed/index.html
+++ b/public/problems/registry-casework/request/method-not-allowed/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/request/not-found.json b/public/problems/registry-casework/request/not-found.json
index f84344b2..17ec26db 100644
--- a/public/problems/registry-casework/request/not-found.json
+++ b/public/problems/registry-casework/request/not-found.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/not-found/index.html b/public/problems/registry-casework/request/not-found/index.html
index cb060966..c6744b2a 100644
--- a/public/problems/registry-casework/request/not-found/index.html
+++ b/public/problems/registry-casework/request/not-found/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/request/reason-unsupported.json b/public/problems/registry-casework/request/reason-unsupported.json
index 3cf07027..4fa979e3 100644
--- a/public/problems/registry-casework/request/reason-unsupported.json
+++ b/public/problems/registry-casework/request/reason-unsupported.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/reason-unsupported/index.html b/public/problems/registry-casework/request/reason-unsupported/index.html
index a4a4d49e..6c57ce83 100644
--- a/public/problems/registry-casework/request/reason-unsupported/index.html
+++ b/public/problems/registry-casework/request/reason-unsupported/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/request/source-rejected.json b/public/problems/registry-casework/request/source-rejected.json
index 8657fb55..d55198b3 100644
--- a/public/problems/registry-casework/request/source-rejected.json
+++ b/public/problems/registry-casework/request/source-rejected.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/source-rejected/index.html b/public/problems/registry-casework/request/source-rejected/index.html
index 6bea7f81..2b1c2603 100644
--- a/public/problems/registry-casework/request/source-rejected/index.html
+++ b/public/problems/registry-casework/request/source-rejected/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/request/unprocessable.json b/public/problems/registry-casework/request/unprocessable.json
index 6bfa77a2..b162b540 100644
--- a/public/problems/registry-casework/request/unprocessable.json
+++ b/public/problems/registry-casework/request/unprocessable.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/unprocessable/index.html b/public/problems/registry-casework/request/unprocessable/index.html
index 356d1679..3b545f2c 100644
--- a/public/problems/registry-casework/request/unprocessable/index.html
+++ b/public/problems/registry-casework/request/unprocessable/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 569cc793..becb6a2b 100644
--- a/public/problems/registry-casework/request/unsupported-media-type.json
+++ b/public/problems/registry-casework/request/unsupported-media-type.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/request/unsupported-media-type/index.html b/public/problems/registry-casework/request/unsupported-media-type/index.html
index c8c3c6cf..7d0b61f9 100644
--- a/public/problems/registry-casework/request/unsupported-media-type/index.html
+++ b/public/problems/registry-casework/request/unsupported-media-type/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/review/result-expired.json b/public/problems/registry-casework/review/result-expired.json
new file mode 100644
index 00000000..e70f04ff
--- /dev/null
+++ b/public/problems/registry-casework/review/result-expired.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/review/result-expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/result-expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "review.result-expired",
+ "title": "Review result expired",
+ "summary": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
+ "description": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+}
diff --git a/public/problems/registry-casework/review/result-expired/index.html b/public/problems/registry-casework/review/result-expired/index.html
new file mode 100644
index 00000000..d1200b4b
--- /dev/null
+++ b/public/problems/registry-casework/review/result-expired/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Review result expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Review result expired
+
The retained review result is no longer available. Reconcile through the producer's retained source correlation.
+
https://id.registrystack.org/problems/registry-casework/review/result-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/review/result-expired
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code review.result-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/review/result-expired",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/result-expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "review.result-expired",
+ "title": "Review result expired",
+ "summary": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
+ "description": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/review/submission-conflict.json b/public/problems/registry-casework/review/submission-conflict.json
new file mode 100644
index 00000000..affe435b
--- /dev/null
+++ b/public/problems/registry-casework/review/submission-conflict.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/review/submission-conflict",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/submission-conflict",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "review.submission-conflict",
+ "title": "Review submission conflict",
+ "summary": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
+ "description": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+}
diff --git a/public/problems/registry-casework/review/submission-conflict/index.html b/public/problems/registry-casework/review/submission-conflict/index.html
new file mode 100644
index 00000000..37b3a619
--- /dev/null
+++ b/public/problems/registry-casework/review/submission-conflict/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Review submission conflict | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Review submission conflict
+
The same producer, source subject, version, and policy were already submitted with different canonical content.
+
https://id.registrystack.org/problems/registry-casework/review/submission-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-casework/review/submission-conflict
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code review.submission-conflict
+ 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/review/submission-conflict",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/submission-conflict",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "review.submission-conflict",
+ "title": "Review submission conflict",
+ "summary": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
+ "description": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/review/task-not-held.json b/public/problems/registry-casework/review/task-not-held.json
new file mode 100644
index 00000000..d6427173
--- /dev/null
+++ b/public/problems/registry-casework/review/task-not-held.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-casework/review/task-not-held",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/task-not-held",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "review.task-not-held",
+ "title": "Review task not held",
+ "summary": "Claim the review task before deciding it, and decide only while the claim remains current.",
+ "description": "Claim the review task before deciding it, and decide only while the claim remains current.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+}
diff --git a/public/problems/registry-casework/review/task-not-held/index.html b/public/problems/registry-casework/review/task-not-held/index.html
new file mode 100644
index 00000000..9da2bbe8
--- /dev/null
+++ b/public/problems/registry-casework/review/task-not-held/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Review task not held | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-casework
+
Review task not held
+
Claim the review task before deciding it, and decide only while the claim remains current.
+
https://id.registrystack.org/problems/registry-casework/review/task-not-held
+
+
+
+
+ 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/review/task-not-held
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-casework
+ Code review.task-not-held
+ 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/review/task-not-held",
+ "type": "https://id.registrystack.org/problems/registry-casework/review/task-not-held",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-casework",
+ "code": "review.task-not-held",
+ "title": "Review task not held",
+ "summary": "Claim the review task before deciding it, and decide only while the claim remains current.",
+ "description": "Claim the review task before deciding it, and decide only while the claim remains current.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-casework/runtime/failure.json b/public/problems/registry-casework/runtime/failure.json
index f5f7b3e3..3957a445 100644
--- a/public/problems/registry-casework/runtime/failure.json
+++ b/public/problems/registry-casework/runtime/failure.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/runtime/failure/index.html b/public/problems/registry-casework/runtime/failure/index.html
index ff6e9800..d324d236 100644
--- a/public/problems/registry-casework/runtime/failure/index.html
+++ b/public/problems/registry-casework/runtime/failure/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/service/unavailable.json b/public/problems/registry-casework/service/unavailable.json
index 4cec0fa6..78a3966b 100644
--- a/public/problems/registry-casework/service/unavailable.json
+++ b/public/problems/registry-casework/service/unavailable.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/service/unavailable/index.html b/public/problems/registry-casework/service/unavailable/index.html
index e784ff83..878aba44 100644
--- a/public/problems/registry-casework/service/unavailable/index.html
+++ b/public/problems/registry-casework/service/unavailable/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index f12c764e..3d2f89dd 100644
--- a/public/problems/registry-casework/source-profile/not-applicable.json
+++ b/public/problems/registry-casework/source-profile/not-applicable.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/source-profile/not-applicable/index.html b/public/problems/registry-casework/source-profile/not-applicable/index.html
index af965c1c..56eebad3 100644
--- a/public/problems/registry-casework/source-profile/not-applicable/index.html
+++ b/public/problems/registry-casework/source-profile/not-applicable/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/source-profile/required.json b/public/problems/registry-casework/source-profile/required.json
index c90111e9..de74f9b4 100644
--- a/public/problems/registry-casework/source-profile/required.json
+++ b/public/problems/registry-casework/source-profile/required.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/source-profile/required/index.html b/public/problems/registry-casework/source-profile/required/index.html
index f12d41b0..f33d767d 100644
--- a/public/problems/registry-casework/source-profile/required/index.html
+++ b/public/problems/registry-casework/source-profile/required/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/source/bad-gateway.json b/public/problems/registry-casework/source/bad-gateway.json
index 8d88da18..706a5725 100644
--- a/public/problems/registry-casework/source/bad-gateway.json
+++ b/public/problems/registry-casework/source/bad-gateway.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/source/bad-gateway/index.html b/public/problems/registry-casework/source/bad-gateway/index.html
index 682a51fd..363d1d00 100644
--- a/public/problems/registry-casework/source/bad-gateway/index.html
+++ b/public/problems/registry-casework/source/bad-gateway/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/source/not-found.json b/public/problems/registry-casework/source/not-found.json
index 3a6f241a..48b9d69c 100644
--- a/public/problems/registry-casework/source/not-found.json
+++ b/public/problems/registry-casework/source/not-found.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/source/not-found/index.html b/public/problems/registry-casework/source/not-found/index.html
index 9cbc325d..bde696ac 100644
--- a/public/problems/registry-casework/source/not-found/index.html
+++ b/public/problems/registry-casework/source/not-found/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/source/record-missing.json b/public/problems/registry-casework/source/record-missing.json
index c76cd11c..ad3e9655 100644
--- a/public/problems/registry-casework/source/record-missing.json
+++ b/public/problems/registry-casework/source/record-missing.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/source/record-missing/index.html b/public/problems/registry-casework/source/record-missing/index.html
index d930905b..8dd76eea 100644
--- a/public/problems/registry-casework/source/record-missing/index.html
+++ b/public/problems/registry-casework/source/record-missing/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index da1bacb4..ac82331e 100644
--- a/public/problems/registry-casework/source/reviewer-not-authorized.json
+++ b/public/problems/registry-casework/source/reviewer-not-authorized.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/source/reviewer-not-authorized/index.html b/public/problems/registry-casework/source/reviewer-not-authorized/index.html
index b8d603d1..9feafbf1 100644
--- a/public/problems/registry-casework/source/reviewer-not-authorized/index.html
+++ b/public/problems/registry-casework/source/reviewer-not-authorized/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/source/signature-invalid.json b/public/problems/registry-casework/source/signature-invalid.json
index 5f78370b..22f33f83 100644
--- a/public/problems/registry-casework/source/signature-invalid.json
+++ b/public/problems/registry-casework/source/signature-invalid.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/source/signature-invalid/index.html b/public/problems/registry-casework/source/signature-invalid/index.html
index 76204dd0..24f01512 100644
--- a/public/problems/registry-casework/source/signature-invalid/index.html
+++ b/public/problems/registry-casework/source/signature-invalid/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 1ebaa685..acfefc54 100644
--- a/public/problems/registry-casework/work-item/already-claimed.json
+++ b/public/problems/registry-casework/work-item/already-claimed.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/already-claimed/index.html b/public/problems/registry-casework/work-item/already-claimed/index.html
index 56d122f9..52e3ff95 100644
--- a/public/problems/registry-casework/work-item/already-claimed/index.html
+++ b/public/problems/registry-casework/work-item/already-claimed/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 4bf9b740..a7522b42 100644
--- a/public/problems/registry-casework/work-item/not-holder.json
+++ b/public/problems/registry-casework/work-item/not-holder.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/not-holder/index.html b/public/problems/registry-casework/work-item/not-holder/index.html
index ca88b4a4..a1da4c76 100644
--- a/public/problems/registry-casework/work-item/not-holder/index.html
+++ b/public/problems/registry-casework/work-item/not-holder/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 8dc31a14..4e8d48a5 100644
--- a/public/problems/registry-casework/work-item/not-offered.json
+++ b/public/problems/registry-casework/work-item/not-offered.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/not-offered/index.html b/public/problems/registry-casework/work-item/not-offered/index.html
index fcd5c11e..e5c83ef9 100644
--- a/public/problems/registry-casework/work-item/not-offered/index.html
+++ b/public/problems/registry-casework/work-item/not-offered/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index ea0290ac..6d9e936f 100644
--- a/public/problems/registry-casework/work-item/not-visible.json
+++ b/public/problems/registry-casework/work-item/not-visible.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/not-visible/index.html b/public/problems/registry-casework/work-item/not-visible/index.html
index f79789d9..0eb03935 100644
--- a/public/problems/registry-casework/work-item/not-visible/index.html
+++ b/public/problems/registry-casework/work-item/not-visible/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index fe6e2472..a55d137f 100644
--- a/public/problems/registry-casework/work-item/proposal-changed.json
+++ b/public/problems/registry-casework/work-item/proposal-changed.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/proposal-changed/index.html b/public/problems/registry-casework/work-item/proposal-changed/index.html
index 12fd1f12..7c6d9252 100644
--- a/public/problems/registry-casework/work-item/proposal-changed/index.html
+++ b/public/problems/registry-casework/work-item/proposal-changed/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 242ced38..9a7724e5 100644
--- a/public/problems/registry-casework/work-item/recovery-pending.json
+++ b/public/problems/registry-casework/work-item/recovery-pending.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/recovery-pending/index.html b/public/problems/registry-casework/work-item/recovery-pending/index.html
index 8e243f16..3557eb76 100644
--- a/public/problems/registry-casework/work-item/recovery-pending/index.html
+++ b/public/problems/registry-casework/work-item/recovery-pending/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
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
index 1f9646ab..dd649daa 100644
--- a/public/problems/registry-casework/work-item/source-unavailable.json
+++ b/public/problems/registry-casework/work-item/source-unavailable.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/source-unavailable/index.html b/public/problems/registry-casework/work-item/source-unavailable/index.html
index c5d6d0b5..8e309ec3 100644
--- a/public/problems/registry-casework/work-item/source-unavailable/index.html
+++ b/public/problems/registry-casework/work-item/source-unavailable/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-casework/work-item/superseded.json b/public/problems/registry-casework/work-item/superseded.json
index e26214f9..34f936f9 100644
--- a/public/problems/registry-casework/work-item/superseded.json
+++ b/public/problems/registry-casework/work-item/superseded.json
@@ -37,8 +37,8 @@
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
diff --git a/public/problems/registry-casework/work-item/superseded/index.html b/public/problems/registry-casework/work-item/superseded/index.html
index aa26b0f9..ccc7c475 100644
--- a/public/problems/registry-casework/work-item/superseded/index.html
+++ b/public/problems/registry-casework/work-item/superseded/index.html
@@ -114,9 +114,9 @@ Problem record
},
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
}
Machine-readable JSON
diff --git a/public/problems/registry-discovery/invalid-request.json b/public/problems/registry-discovery/invalid-request.json
index 39d2488f..8ef3707e 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 7de7074c..0695da94 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 ef4130dd..e4d51c50 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 90841944..10de9035 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 df651380..d35641e5 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 d062b66c..26a52358 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 31b2ca61..8257a020 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 de70df63..57a6bb32 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 fbaa2152..86eec700 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 78b24436..548a09b0 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 7a1fe112..ab7aa2ed 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 def16c80..855dd458 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 a8e31def..f1d68ff2 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 aefb3b94..5b841806 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 47954253..9ed322a7 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 2e66c8d2..e7000730 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 6e65d106..9ec3bf30 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 3d9f2264..ddfb6f1e 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 9bcf56df..fb344e81 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 154322a2..96108272 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 a76e873b..2d847d10 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 0e38a69a..b42c27de 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 111d774b..504373f6 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 b5e64004..b2754a25 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 0ac60541..d00f41c9 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 9d92b1ae..df9aadf6 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 3005ebb5..44a1f790 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 4f983111..1a59db55 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
diff --git a/public/problems/registry-relay/aggregate-data/denied.json b/public/problems/registry-relay/aggregate-data/denied.json
index 971f4360..59941699 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 ba899fc5..efff85a2 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 cbc61d64..2afb89ba 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 ad78a8fb..f6817d8d 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 3068f975..e72143d5 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 7acf9d8a..84ad2616 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 7663adc8..65d6e23b 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 ca063ab7..9136a1c9 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/audit/unavailable.json b/public/problems/registry-relay/audit/unavailable.json
index 8e556195..d0c553e1 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 09a73217..307e82af 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/auth/invalid_credential.json b/public/problems/registry-relay/auth/invalid_credential.json
index 587e3033..bb62cba3 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 af31344b..c12863e8 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/auth/missing_credential.json b/public/problems/registry-relay/auth/missing_credential.json
index 9d87ca5a..a0fd896d 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 a8be624a..056a0c32 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/consultation/denied.json b/public/problems/registry-relay/consultation/denied.json
index 626ce111..04822296 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 2122c92b..055857a2 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 c606c33e..6328756c 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 4e0b5ff8..43f6fdb5 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 88ad8382..57173912 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 c6f03cb0..feb02831 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 8403e454..f51d6685 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 d8e01aa3..c953ee82 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 3cbced43..317d10df 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 a21754a3..fbc567e8 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/filter/invalid_value.json b/public/problems/registry-relay/filter/invalid_value.json
index a77acc85..5c5b4d01 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 b1f970cc..9cf20529 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/filter/unknown_field.json b/public/problems/registry-relay/filter/unknown_field.json
index d7c0cec2..8cb88b9b 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 9169d68f..1fb30710 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/format/unsupported.json b/public/problems/registry-relay/format/unsupported.json
index 8b214de8..a1aad985 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 8a7972ee..2828731d 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/internal/payload_too_large.json b/public/problems/registry-relay/internal/payload_too_large.json
index 069ea5a7..83a21d09 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 717dfb69..e9873102 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 e946c683..479fc8be 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 2b204bf4..e96c2f28 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 d63992e1..d8de8798 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 fd2fe58e..f189bc70 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 f9549009..c677f944 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 d3b834a1..abbd39c4 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/query/cursor_invalid.json b/public/problems/registry-relay/query/cursor_invalid.json
index 7ca67361..38d1271c 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 74f6b202..972d32cb 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 90143706..e35951c6 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 666033b0..6f6aa461 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 a4b7defe..35e04065 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 b6570036..ea10507d 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 873cdfe8..667ef5ed 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 5a024e10..29d39bc7 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 c62e70aa..a38677bf 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 9138c7a9..df19b779 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-relay/service/not_ready.json b/public/problems/registry-relay/service/not_ready.json
index 3b88852d..11887c3a 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 9eff967a..53235275 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 b9bc410a..2b047caf 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 4122e335..8a3b43c1 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
diff --git a/public/problems/registry-scheduling/authentication/refused.json b/public/problems/registry-scheduling/authentication/refused.json
new file mode 100644
index 00000000..2c99cd43
--- /dev/null
+++ b/public/problems/registry-scheduling/authentication/refused.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/authentication/refused",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/authentication/refused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/authentication/refused/index.html b/public/problems/registry-scheduling/authentication/refused/index.html
new file mode 100644
index 00000000..1e3f272a
--- /dev/null
+++ b/public/problems/registry-scheduling/authentication/refused/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Authentication refused | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Authentication refused
+
The bearer credential is missing, invalid, or expired. Sign in again.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/authentication/refused
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/authentication/refused",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/authentication/refused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/booking/duplicate-active.json b/public/problems/registry-scheduling/booking/duplicate-active.json
new file mode 100644
index 00000000..cb736d0a
--- /dev/null
+++ b/public/problems/registry-scheduling/booking/duplicate-active.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/booking/duplicate-active",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/booking/duplicate-active",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "booking.duplicate-active",
+ "title": "Duplicate active booking",
+ "summary": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking again.",
+ "description": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/booking/duplicate-active/index.html b/public/problems/registry-scheduling/booking/duplicate-active/index.html
new file mode 100644
index 00000000..8ff73743
--- /dev/null
+++ b/public/problems/registry-scheduling/booking/duplicate-active/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Duplicate active booking | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Duplicate active booking
+
An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking again.
+
https://id.registrystack.org/problems/registry-scheduling/booking/duplicate-active
+
+
+
+
+ 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-scheduling/booking/duplicate-active
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code booking.duplicate-active
+ 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-scheduling/booking/duplicate-active",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/booking/duplicate-active",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "booking.duplicate-active",
+ "title": "Duplicate active booking",
+ "summary": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking again.",
+ "description": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/cancellation/cutoff-passed.json b/public/problems/registry-scheduling/cancellation/cutoff-passed.json
new file mode 100644
index 00000000..1ac0f040
--- /dev/null
+++ b/public/problems/registry-scheduling/cancellation/cutoff-passed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/cancellation/cutoff-passed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cancellation/cutoff-passed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "cancellation.cutoff-passed",
+ "title": "Cancellation cutoff passed",
+ "summary": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
+ "description": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/cancellation/cutoff-passed/index.html b/public/problems/registry-scheduling/cancellation/cutoff-passed/index.html
new file mode 100644
index 00000000..f65517a8
--- /dev/null
+++ b/public/problems/registry-scheduling/cancellation/cutoff-passed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Cancellation cutoff passed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Cancellation cutoff passed
+
The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.
+
https://id.registrystack.org/problems/registry-scheduling/cancellation/cutoff-passed
+
+
+
+
+ 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-scheduling/cancellation/cutoff-passed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code cancellation.cutoff-passed
+ 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-scheduling/cancellation/cutoff-passed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cancellation/cutoff-passed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "cancellation.cutoff-passed",
+ "title": "Cancellation cutoff passed",
+ "summary": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
+ "description": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/capability/unmatched.json b/public/problems/registry-scheduling/capability/unmatched.json
new file mode 100644
index 00000000..87d56418
--- /dev/null
+++ b/public/problems/registry-scheduling/capability/unmatched.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/capability/unmatched",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/capability/unmatched",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "capability.unmatched",
+ "title": "Capability unmatched",
+ "summary": "The party or backing supply does not carry every capability this offering requires.",
+ "description": "The party or backing supply does not carry every capability this offering requires.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/capability/unmatched/index.html b/public/problems/registry-scheduling/capability/unmatched/index.html
new file mode 100644
index 00000000..96286933
--- /dev/null
+++ b/public/problems/registry-scheduling/capability/unmatched/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Capability unmatched | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Capability unmatched
+
The party or backing supply does not carry every capability this offering requires.
+
https://id.registrystack.org/problems/registry-scheduling/capability/unmatched
+
+
+
+
+ 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-scheduling/capability/unmatched
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code capability.unmatched
+ 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-scheduling/capability/unmatched",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/capability/unmatched",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "capability.unmatched",
+ "title": "Capability unmatched",
+ "summary": "The party or backing supply does not carry every capability this offering requires.",
+ "description": "The party or backing supply does not carry every capability this offering requires.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/capacity/exhausted.json b/public/problems/registry-scheduling/capacity/exhausted.json
new file mode 100644
index 00000000..4c1ac42d
--- /dev/null
+++ b/public/problems/registry-scheduling/capacity/exhausted.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/capacity/exhausted",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/capacity/exhausted",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "capacity.exhausted",
+ "title": "Capacity exhausted",
+ "summary": "The supply is fully committed for the requested interval. Choose another time.",
+ "description": "The supply is fully committed for the requested interval. Choose another time.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/capacity/exhausted/index.html b/public/problems/registry-scheduling/capacity/exhausted/index.html
new file mode 100644
index 00000000..e7d52a7f
--- /dev/null
+++ b/public/problems/registry-scheduling/capacity/exhausted/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Capacity exhausted | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Capacity exhausted
+
The supply is fully committed for the requested interval. Choose another time.
+
https://id.registrystack.org/problems/registry-scheduling/capacity/exhausted
+
+
+
+
+ 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-scheduling/capacity/exhausted
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code capacity.exhausted
+ 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-scheduling/capacity/exhausted",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/capacity/exhausted",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "capacity.exhausted",
+ "title": "Capacity exhausted",
+ "summary": "The supply is fully committed for the requested interval. Choose another time.",
+ "description": "The supply is fully committed for the requested interval. Choose another time.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/cursor/expired.json b/public/problems/registry-scheduling/cursor/expired.json
new file mode 100644
index 00000000..5fbfdc45
--- /dev/null
+++ b/public/problems/registry-scheduling/cursor/expired.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/cursor/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cursor/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "cursor.expired",
+ "title": "Cursor expired",
+ "summary": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/cursor/expired/index.html b/public/problems/registry-scheduling/cursor/expired/index.html
new file mode 100644
index 00000000..37ba90b7
--- /dev/null
+++ b/public/problems/registry-scheduling/cursor/expired/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Cursor expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Cursor expired
+
This cursor has expired. Start again without a cursor and deduplicate entries by id.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/cursor/expired
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/cursor/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cursor/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "cursor.expired",
+ "title": "Cursor expired",
+ "summary": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/cursor/invalid.json b/public/problems/registry-scheduling/cursor/invalid.json
new file mode 100644
index 00000000..853d65db
--- /dev/null
+++ b/public/problems/registry-scheduling/cursor/invalid.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/cursor/invalid",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cursor/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/cursor/invalid/index.html b/public/problems/registry-scheduling/cursor/invalid/index.html
new file mode 100644
index 00000000..f2f7dca8
--- /dev/null
+++ b/public/problems/registry-scheduling/cursor/invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Cursor invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Cursor invalid
+
The cursor is invalid for this request.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/cursor/invalid
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/cursor/invalid",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/cursor/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/eligibility/unavailable.json b/public/problems/registry-scheduling/eligibility/unavailable.json
new file mode 100644
index 00000000..07e4bc57
--- /dev/null
+++ b/public/problems/registry-scheduling/eligibility/unavailable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/eligibility/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/eligibility/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "eligibility.unavailable",
+ "title": "Eligibility unavailable",
+ "summary": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "description": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/eligibility/unavailable/index.html b/public/problems/registry-scheduling/eligibility/unavailable/index.html
new file mode 100644
index 00000000..0e59ec05
--- /dev/null
+++ b/public/problems/registry-scheduling/eligibility/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Eligibility unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Eligibility unavailable
+
A required eligibility check could not run. Retry; do not treat this as permission.
+
https://id.registrystack.org/problems/registry-scheduling/eligibility/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-scheduling/eligibility/unavailable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code eligibility.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-scheduling/eligibility/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/eligibility/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "eligibility.unavailable",
+ "title": "Eligibility unavailable",
+ "summary": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "description": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/hold/expired.json b/public/problems/registry-scheduling/hold/expired.json
new file mode 100644
index 00000000..c5e73da7
--- /dev/null
+++ b/public/problems/registry-scheduling/hold/expired.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/hold/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hold/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hold.expired",
+ "title": "Hold expired",
+ "summary": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "description": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/hold/expired/index.html b/public/problems/registry-scheduling/hold/expired/index.html
new file mode 100644
index 00000000..822b82d7
--- /dev/null
+++ b/public/problems/registry-scheduling/hold/expired/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Hold expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Hold expired
+
The hold expired before confirmation. Its capacity is bookable again; start a new request.
+
https://id.registrystack.org/problems/registry-scheduling/hold/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-scheduling/hold/expired
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code hold.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-scheduling/hold/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hold/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hold.expired",
+ "title": "Hold expired",
+ "summary": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "description": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/hold/released.json b/public/problems/registry-scheduling/hold/released.json
new file mode 100644
index 00000000..699b2bd7
--- /dev/null
+++ b/public/problems/registry-scheduling/hold/released.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/hold/released",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hold/released",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hold.released",
+ "title": "Hold released",
+ "summary": "The claim is not an active hold. It may already be confirmed or released.",
+ "description": "The claim is not an active hold. It may already be confirmed or released.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/hold/released/index.html b/public/problems/registry-scheduling/hold/released/index.html
new file mode 100644
index 00000000..3461101c
--- /dev/null
+++ b/public/problems/registry-scheduling/hold/released/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Hold released | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Hold released
+
The claim is not an active hold. It may already be confirmed or released.
+
https://id.registrystack.org/problems/registry-scheduling/hold/released
+
+
+
+
+ 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-scheduling/hold/released
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code hold.released
+ 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-scheduling/hold/released",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hold/released",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hold.released",
+ "title": "Hold released",
+ "summary": "The claim is not an active hold. It may already be confirmed or released.",
+ "description": "The claim is not an active hold. It may already be confirmed or released.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/hook/unavailable.json b/public/problems/registry-scheduling/hook/unavailable.json
new file mode 100644
index 00000000..7be9bf9d
--- /dev/null
+++ b/public/problems/registry-scheduling/hook/unavailable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/hook/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hook/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hook.unavailable",
+ "title": "Hook unavailable",
+ "summary": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "description": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/hook/unavailable/index.html b/public/problems/registry-scheduling/hook/unavailable/index.html
new file mode 100644
index 00000000..70306129
--- /dev/null
+++ b/public/problems/registry-scheduling/hook/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Hook unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Hook unavailable
+
A required lifecycle hook could not run, so the request was refused rather than half-applied.
+
https://id.registrystack.org/problems/registry-scheduling/hook/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-scheduling/hook/unavailable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code hook.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-scheduling/hook/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/hook/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "hook.unavailable",
+ "title": "Hook unavailable",
+ "summary": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "description": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/horizon/outside.json b/public/problems/registry-scheduling/horizon/outside.json
new file mode 100644
index 00000000..0440f90d
--- /dev/null
+++ b/public/problems/registry-scheduling/horizon/outside.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/horizon/outside",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/horizon/outside",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "horizon.outside",
+ "title": "Start outside the booking horizon",
+ "summary": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "description": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/horizon/outside/index.html b/public/problems/registry-scheduling/horizon/outside/index.html
new file mode 100644
index 00000000..c74b49d0
--- /dev/null
+++ b/public/problems/registry-scheduling/horizon/outside/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Start outside the booking horizon | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Start outside the booking horizon
+
The requested start is earlier than the lead time allows or further ahead than the horizon allows.
+
https://id.registrystack.org/problems/registry-scheduling/horizon/outside
+
+
+
+
+ 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-scheduling/horizon/outside
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code horizon.outside
+ 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-scheduling/horizon/outside",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/horizon/outside",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "horizon.outside",
+ "title": "Start outside the booking horizon",
+ "summary": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "description": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/idempotency/expired.json b/public/problems/registry-scheduling/idempotency/expired.json
new file mode 100644
index 00000000..d3659bc8
--- /dev/null
+++ b/public/problems/registry-scheduling/idempotency/expired.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/idempotency/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/idempotency/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/idempotency/expired/index.html b/public/problems/registry-scheduling/idempotency/expired/index.html
new file mode 100644
index 00000000..a44c92ae
--- /dev/null
+++ b/public/problems/registry-scheduling/idempotency/expired/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Idempotency window expired | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
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-scheduling/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-scheduling/idempotency/expired
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/idempotency/expired",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/idempotency/expired",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/idempotency/key-reused.json b/public/problems/registry-scheduling/idempotency/key-reused.json
new file mode 100644
index 00000000..9b4ff8ce
--- /dev/null
+++ b/public/problems/registry-scheduling/idempotency/key-reused.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/idempotency/key-reused",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/idempotency/key-reused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/idempotency/key-reused/index.html b/public/problems/registry-scheduling/idempotency/key-reused/index.html
new file mode 100644
index 00000000..5d67c336
--- /dev/null
+++ b/public/problems/registry-scheduling/idempotency/key-reused/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Idempotency key reused | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Idempotency key reused
+
This idempotency key was used for a different request.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/idempotency/key-reused
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/idempotency/key-reused",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/idempotency/key-reused",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/location/closed.json b/public/problems/registry-scheduling/location/closed.json
new file mode 100644
index 00000000..f0541c46
--- /dev/null
+++ b/public/problems/registry-scheduling/location/closed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/location/closed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/location/closed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "location.closed",
+ "title": "Location closed",
+ "summary": "A closure covers the requested start. Choose a start outside the closure.",
+ "description": "A closure covers the requested start. Choose a start outside the closure.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/location/closed/index.html b/public/problems/registry-scheduling/location/closed/index.html
new file mode 100644
index 00000000..ee4a82f5
--- /dev/null
+++ b/public/problems/registry-scheduling/location/closed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Location closed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Location closed
+
A closure covers the requested start. Choose a start outside the closure.
+
https://id.registrystack.org/problems/registry-scheduling/location/closed
+
+
+
+
+ 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-scheduling/location/closed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code location.closed
+ 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-scheduling/location/closed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/location/closed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "location.closed",
+ "title": "Location closed",
+ "summary": "A closure covers the requested start. Choose a start outside the closure.",
+ "description": "A closure covers the requested start. Choose a start outside the closure.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/operation/not-authorized.json b/public/problems/registry-scheduling/operation/not-authorized.json
new file mode 100644
index 00000000..1338817d
--- /dev/null
+++ b/public/problems/registry-scheduling/operation/not-authorized.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/operation/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/operation/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "operation.not-authorized",
+ "title": "Operation not authorized",
+ "summary": "Your current Scheduling authority does not allow this operation.",
+ "description": "Your current Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/operation/not-authorized/index.html b/public/problems/registry-scheduling/operation/not-authorized/index.html
new file mode 100644
index 00000000..2bfde754
--- /dev/null
+++ b/public/problems/registry-scheduling/operation/not-authorized/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Operation not authorized | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Operation not authorized
+
Your current Scheduling authority does not allow this operation.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/operation/not-authorized
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/operation/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/operation/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "operation.not-authorized",
+ "title": "Operation not authorized",
+ "summary": "Your current Scheduling authority does not allow this operation.",
+ "description": "Your current Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/party/capacity-inadequate.json b/public/problems/registry-scheduling/party/capacity-inadequate.json
new file mode 100644
index 00000000..661675a7
--- /dev/null
+++ b/public/problems/registry-scheduling/party/capacity-inadequate.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/party/capacity-inadequate",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/party/capacity-inadequate",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "party.capacity-inadequate",
+ "title": "Party capacity inadequate",
+ "summary": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "description": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/party/capacity-inadequate/index.html b/public/problems/registry-scheduling/party/capacity-inadequate/index.html
new file mode 100644
index 00000000..9f6aa664
--- /dev/null
+++ b/public/problems/registry-scheduling/party/capacity-inadequate/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Party capacity inadequate | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Party capacity inadequate
+
The party is larger than this offering can ever serve, or its size falls outside the published units.
+
https://id.registrystack.org/problems/registry-scheduling/party/capacity-inadequate
+
+
+
+
+ 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-scheduling/party/capacity-inadequate
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code party.capacity-inadequate
+ 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-scheduling/party/capacity-inadequate",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/party/capacity-inadequate",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "party.capacity-inadequate",
+ "title": "Party capacity inadequate",
+ "summary": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "description": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/policy/changed.json b/public/problems/registry-scheduling/policy/changed.json
new file mode 100644
index 00000000..1b17197f
--- /dev/null
+++ b/public/problems/registry-scheduling/policy/changed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/policy/changed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/policy/changed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "policy.changed",
+ "title": "Policy changed",
+ "summary": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "description": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/policy/changed/index.html b/public/problems/registry-scheduling/policy/changed/index.html
new file mode 100644
index 00000000..359f8da3
--- /dev/null
+++ b/public/problems/registry-scheduling/policy/changed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Policy changed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Policy changed
+
The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.
+
https://id.registrystack.org/problems/registry-scheduling/policy/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-scheduling/policy/changed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code policy.changed
+ 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-scheduling/policy/changed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/policy/changed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "policy.changed",
+ "title": "Policy changed",
+ "summary": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "description": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/precondition/failed.json b/public/problems/registry-scheduling/precondition/failed.json
new file mode 100644
index 00000000..3920adb0
--- /dev/null
+++ b/public/problems/registry-scheduling/precondition/failed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/precondition/failed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/precondition/failed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "precondition.failed",
+ "title": "Precondition failed",
+ "summary": "The appointment changed since you loaded it. Reload and try again.",
+ "description": "The appointment 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/precondition/failed/index.html b/public/problems/registry-scheduling/precondition/failed/index.html
new file mode 100644
index 00000000..876bb1f8
--- /dev/null
+++ b/public/problems/registry-scheduling/precondition/failed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Precondition failed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Precondition failed
+
The appointment changed since you loaded it. Reload and try again.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/precondition/failed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/precondition/failed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/precondition/failed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "precondition.failed",
+ "title": "Precondition failed",
+ "summary": "The appointment changed since you loaded it. Reload and try again.",
+ "description": "The appointment 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/precondition/required.json b/public/problems/registry-scheduling/precondition/required.json
new file mode 100644
index 00000000..48e41f40
--- /dev/null
+++ b/public/problems/registry-scheduling/precondition/required.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/precondition/required",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/precondition/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "precondition.required",
+ "title": "Precondition required",
+ "summary": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "description": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/precondition/required/index.html b/public/problems/registry-scheduling/precondition/required/index.html
new file mode 100644
index 00000000..721e1ed3
--- /dev/null
+++ b/public/problems/registry-scheduling/precondition/required/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Precondition required | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Precondition required
+
This mutation requires the revision you loaded, or the duplicate key this offering keys on.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/precondition/required
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/precondition/required",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/precondition/required",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "precondition.required",
+ "title": "Precondition required",
+ "summary": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "description": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/prerequisite/missing.json b/public/problems/registry-scheduling/prerequisite/missing.json
new file mode 100644
index 00000000..3d0d0851
--- /dev/null
+++ b/public/problems/registry-scheduling/prerequisite/missing.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/prerequisite/missing",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/prerequisite/missing",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "prerequisite.missing",
+ "title": "Prerequisite missing",
+ "summary": "The party is missing a prerequisite this offering requires.",
+ "description": "The party is missing a prerequisite this offering requires.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/prerequisite/missing/index.html b/public/problems/registry-scheduling/prerequisite/missing/index.html
new file mode 100644
index 00000000..e4b688c6
--- /dev/null
+++ b/public/problems/registry-scheduling/prerequisite/missing/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Prerequisite missing | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Prerequisite missing
+
The party is missing a prerequisite this offering requires.
+
https://id.registrystack.org/problems/registry-scheduling/prerequisite/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-scheduling/prerequisite/missing
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code prerequisite.missing
+ 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-scheduling/prerequisite/missing",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/prerequisite/missing",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "prerequisite.missing",
+ "title": "Prerequisite missing",
+ "summary": "The party is missing a prerequisite this offering requires.",
+ "description": "The party is missing a prerequisite this offering requires.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/profile/not-authorized.json b/public/problems/registry-scheduling/profile/not-authorized.json
new file mode 100644
index 00000000..4f48b23b
--- /dev/null
+++ b/public/problems/registry-scheduling/profile/not-authorized.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/profile/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/profile/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "profile.not-authorized",
+ "title": "Profile not authorized",
+ "summary": "The selected Scheduling profile does not authorize this request.",
+ "description": "The selected Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/profile/not-authorized/index.html b/public/problems/registry-scheduling/profile/not-authorized/index.html
new file mode 100644
index 00000000..91540827
--- /dev/null
+++ b/public/problems/registry-scheduling/profile/not-authorized/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Profile not authorized | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Profile not authorized
+
The selected Scheduling profile does not authorize this request.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/profile/not-authorized
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/profile/not-authorized",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/profile/not-authorized",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "profile.not-authorized",
+ "title": "Profile not authorized",
+ "summary": "The selected Scheduling profile does not authorize this request.",
+ "description": "The selected Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/request/body-too-large.json b/public/problems/registry-scheduling/request/body-too-large.json
new file mode 100644
index 00000000..b418a779
--- /dev/null
+++ b/public/problems/registry-scheduling/request/body-too-large.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.body-too-large",
+ "title": "Payload too large",
+ "summary": "The request body exceeds the accepted size.",
+ "description": "The request body exceeds the accepted size.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/request/body-too-large/index.html b/public/problems/registry-scheduling/request/body-too-large/index.html
new file mode 100644
index 00000000..c073f0f8
--- /dev/null
+++ b/public/problems/registry-scheduling/request/body-too-large/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Payload too large | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Payload too large
+
The request body exceeds the accepted size.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/request/body-too-large
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/request/body-too-large",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/body-too-large",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.body-too-large",
+ "title": "Payload too large",
+ "summary": "The request body exceeds the accepted size.",
+ "description": "The request body exceeds the accepted size.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/request/invalid.json b/public/problems/registry-scheduling/request/invalid.json
new file mode 100644
index 00000000..a6b49a8a
--- /dev/null
+++ b/public/problems/registry-scheduling/request/invalid.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.invalid",
+ "title": "Request invalid",
+ "summary": "The request could not be read as a Scheduling request.",
+ "description": "The request could not be read as a Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/request/invalid/index.html b/public/problems/registry-scheduling/request/invalid/index.html
new file mode 100644
index 00000000..b3ba0a0f
--- /dev/null
+++ b/public/problems/registry-scheduling/request/invalid/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Request invalid | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Request invalid
+
The request could not be read as a Scheduling request.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/request/invalid
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/request/invalid",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/invalid",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.invalid",
+ "title": "Request invalid",
+ "summary": "The request could not be read as a Scheduling request.",
+ "description": "The request could not be read as a Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/request/method-not-allowed.json b/public/problems/registry-scheduling/request/method-not-allowed.json
new file mode 100644
index 00000000..5cd5fff6
--- /dev/null
+++ b/public/problems/registry-scheduling/request/method-not-allowed.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/method-not-allowed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/method-not-allowed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.method-not-allowed",
+ "title": "Method not allowed",
+ "summary": "The route exists but not for this method.",
+ "description": "The route exists but not for this 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/request/method-not-allowed/index.html b/public/problems/registry-scheduling/request/method-not-allowed/index.html
new file mode 100644
index 00000000..d2eaa03e
--- /dev/null
+++ b/public/problems/registry-scheduling/request/method-not-allowed/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Method not allowed | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Method not allowed
+
The route exists but not for this method.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/request/method-not-allowed
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/request/method-not-allowed",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/method-not-allowed",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.method-not-allowed",
+ "title": "Method not allowed",
+ "summary": "The route exists but not for this method.",
+ "description": "The route exists but not for this 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/request/not-found.json b/public/problems/registry-scheduling/request/not-found.json
new file mode 100644
index 00000000..0ccd4106
--- /dev/null
+++ b/public/problems/registry-scheduling/request/not-found.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/not-found",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.not-found",
+ "title": "Route not found",
+ "summary": "The requested route does not exist.",
+ "description": "The requested 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/request/not-found/index.html b/public/problems/registry-scheduling/request/not-found/index.html
new file mode 100644
index 00000000..43fe20ed
--- /dev/null
+++ b/public/problems/registry-scheduling/request/not-found/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Route not found | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Route not found
+
The requested route does not exist.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/request/not-found
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/request/not-found",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/not-found",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.not-found",
+ "title": "Route not found",
+ "summary": "The requested route does not exist.",
+ "description": "The requested 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/request/unprocessable.json b/public/problems/registry-scheduling/request/unprocessable.json
new file mode 100644
index 00000000..e9362bd1
--- /dev/null
+++ b/public/problems/registry-scheduling/request/unprocessable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/unprocessable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/unprocessable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.unprocessable",
+ "title": "Request unprocessable",
+ "summary": "The request body could not be processed.",
+ "description": "The request body could not be processed.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/request/unprocessable/index.html b/public/problems/registry-scheduling/request/unprocessable/index.html
new file mode 100644
index 00000000..59d8e6e6
--- /dev/null
+++ b/public/problems/registry-scheduling/request/unprocessable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Request unprocessable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Request unprocessable
+
The request body could not be processed.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/request/unprocessable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/request/unprocessable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/unprocessable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.unprocessable",
+ "title": "Request unprocessable",
+ "summary": "The request body could not be processed.",
+ "description": "The request body could not be processed.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/request/unsupported-media-type.json b/public/problems/registry-scheduling/request/unsupported-media-type.json
new file mode 100644
index 00000000..13161470
--- /dev/null
+++ b/public/problems/registry-scheduling/request/unsupported-media-type.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/request/unsupported-media-type",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/unsupported-media-type",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.unsupported-media-type",
+ "title": "Unsupported media type",
+ "summary": "The request body is not JSON.",
+ "description": "The request body is not 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/request/unsupported-media-type/index.html b/public/problems/registry-scheduling/request/unsupported-media-type/index.html
new file mode 100644
index 00000000..58e5fe6c
--- /dev/null
+++ b/public/problems/registry-scheduling/request/unsupported-media-type/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Unsupported media type | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Unsupported media type
+
The request body is not JSON.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/request/unsupported-media-type
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/request/unsupported-media-type",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/request/unsupported-media-type",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "request.unsupported-media-type",
+ "title": "Unsupported media type",
+ "summary": "The request body is not JSON.",
+ "description": "The request body is not 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/resource/unavailable.json b/public/problems/registry-scheduling/resource/unavailable.json
new file mode 100644
index 00000000..7b875a98
--- /dev/null
+++ b/public/problems/registry-scheduling/resource/unavailable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/resource/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/resource/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "resource.unavailable",
+ "title": "Resource unavailable",
+ "summary": "Every capable member is unavailable for this interval.",
+ "description": "Every capable member is unavailable for this interval.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/resource/unavailable/index.html b/public/problems/registry-scheduling/resource/unavailable/index.html
new file mode 100644
index 00000000..5fd0e714
--- /dev/null
+++ b/public/problems/registry-scheduling/resource/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Resource unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Resource unavailable
+
Every capable member is unavailable for this interval.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/resource/unavailable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code resource.unavailable
+ 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-scheduling/resource/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/resource/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "resource.unavailable",
+ "title": "Resource unavailable",
+ "summary": "Every capable member is unavailable for this interval.",
+ "description": "Every capable member is unavailable for this interval.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/revision/mismatch.json b/public/problems/registry-scheduling/revision/mismatch.json
new file mode 100644
index 00000000..6d470ffe
--- /dev/null
+++ b/public/problems/registry-scheduling/revision/mismatch.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/revision/mismatch",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/revision/mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "revision.mismatch",
+ "title": "Revision mismatch",
+ "summary": "The window revision changed before the request committed. Reload the catalogue and try again.",
+ "description": "The window revision changed before the request committed. Reload the catalogue 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/revision/mismatch/index.html b/public/problems/registry-scheduling/revision/mismatch/index.html
new file mode 100644
index 00000000..e82b59df
--- /dev/null
+++ b/public/problems/registry-scheduling/revision/mismatch/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Revision mismatch | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Revision mismatch
+
The window revision changed before the request committed. Reload the catalogue and try again.
+
https://id.registrystack.org/problems/registry-scheduling/revision/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-scheduling/revision/mismatch
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code revision.mismatch
+ 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-scheduling/revision/mismatch",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/revision/mismatch",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "revision.mismatch",
+ "title": "Revision mismatch",
+ "summary": "The window revision changed before the request committed. Reload the catalogue and try again.",
+ "description": "The window revision changed before the request committed. Reload the catalogue 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/schedule/unpublished.json b/public/problems/registry-scheduling/schedule/unpublished.json
new file mode 100644
index 00000000..d95fac2a
--- /dev/null
+++ b/public/problems/registry-scheduling/schedule/unpublished.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/schedule/unpublished",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/schedule/unpublished",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "schedule.unpublished",
+ "title": "Schedule unpublished",
+ "summary": "No published schedule serves that start. Choose a start on the published grid.",
+ "description": "No published schedule serves that start. Choose a start on the published grid.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/schedule/unpublished/index.html b/public/problems/registry-scheduling/schedule/unpublished/index.html
new file mode 100644
index 00000000..11b5636a
--- /dev/null
+++ b/public/problems/registry-scheduling/schedule/unpublished/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Schedule unpublished | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Schedule unpublished
+
No published schedule serves that start. Choose a start on the published grid.
+
https://id.registrystack.org/problems/registry-scheduling/schedule/unpublished
+
+
+
+
+ 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-scheduling/schedule/unpublished
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ Code schedule.unpublished
+ 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-scheduling/schedule/unpublished",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/schedule/unpublished",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "schedule.unpublished",
+ "title": "Schedule unpublished",
+ "summary": "No published schedule serves that start. Choose a start on the published grid.",
+ "description": "No published schedule serves that start. Choose a start on the published grid.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/problems/registry-scheduling/service/unavailable.json b/public/problems/registry-scheduling/service/unavailable.json
new file mode 100644
index 00000000..7c1cbaeb
--- /dev/null
+++ b/public/problems/registry-scheduling/service/unavailable.json
@@ -0,0 +1,44 @@
+{
+ "id": "https://id.registrystack.org/problems/registry-scheduling/service/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/service/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "service.unavailable",
+ "title": "Scheduling service unavailable",
+ "summary": "Scheduling storage is unavailable. Try again after the service recovers.",
+ "description": "Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
diff --git a/public/problems/registry-scheduling/service/unavailable/index.html b/public/problems/registry-scheduling/service/unavailable/index.html
new file mode 100644
index 00000000..846d38ec
--- /dev/null
+++ b/public/problems/registry-scheduling/service/unavailable/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+ Scheduling service unavailable | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
Problem type · registry-scheduling
+
Scheduling service unavailable
+
Scheduling storage is unavailable. Try again after the service recovers.
+
https://id.registrystack.org/problems/registry-scheduling/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-scheduling/service/unavailable
+ Kind problem
+ Lifecycle status active
+ Compatibility line v1alpha1
+ Product registry-scheduling
+ 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-scheduling/service/unavailable",
+ "type": "https://id.registrystack.org/problems/registry-scheduling/service/unavailable",
+ "kind": "problem",
+ "lifecycle_status": "active",
+ "compatibility_line": "v1alpha1",
+ "product": "registry-scheduling",
+ "code": "service.unavailable",
+ "title": "Scheduling service unavailable",
+ "summary": "Scheduling storage is unavailable. Try again after the service recovers.",
+ "description": "Scheduling 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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+}
+ Machine-readable JSON
+
+
+
+
+
+
diff --git a/public/profiles/index.json b/public/profiles/index.json
index d3ddffe4..c80cf0b5 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 71ff675d..41a1a19e 100644
--- a/public/schemas/breg/authoring/registry-module.v1alpha1.schema.json
+++ b/public/schemas/breg/authoring/registry-module.v1alpha1.schema.json
@@ -110,6 +110,14 @@
],
"type": "object"
},
+ "ActionHandlerKindSource": {
+ "description": "The authored action-handler backend. The wasm backend is admitted when\nthis build of the compiler carries the `wasm` cargo feature, which\nvalidates a declared WASM handler module against the platform guest\nABI at compile time; without that feature a declared WASM handler is\nrefused with the pinned `action.handler.wasm_build_unsupported`\ndiagnostic.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
"ActionHandlerRefusalSource": {
"additionalProperties": false,
"properties": {
@@ -128,6 +136,7 @@
},
"ActionHandlerSource": {
"additionalProperties": false,
+ "description": "The authored action handler: the shared hook handler declaration, with the\nauthorization members a governed action adds.\n\n`handler` is [`HookHandlerSource`], the same declaration an entity hook\ncarries, so this product spells a handler one way. It is flattened, so the\nauthored member set stays `kind`, the source reference the kind names,\n`abi`, `writes`, and `refusals`. `writes` and `refusals` are this\nproduct's own: they bound what the handler may write and the refusals it\nmay return, and no hook declares them.\n\nTwo rules narrow the shared declaration to what this path runs. `abi` is\noptional there and required here, refused at deserialization, because\nevery backend an action may declare speaks one. The `url` kind is refused\nby the compiler at `actions[].handler.kind`, because an action handler\nruns inside the triggering transaction and cannot be remote.",
"properties": {
"abi": {
"enum": [
@@ -137,7 +146,14 @@
"type": "string"
},
"kind": {
- "$ref": "#/$defs/RhaiScriptKindSource"
+ "$ref": "#/$defs/ActionHandlerKindSource"
+ },
+ "module": {
+ "description": "The WASM handler module path, project-local. Declared for wasm\nhandlers only; the compiler enforces the pairing with the declared\nbackend.",
+ "type": [
+ "string",
+ "null"
+ ]
},
"refusals": {
"default": [],
@@ -147,7 +163,11 @@
"type": "array"
},
"script": {
- "type": "string"
+ "description": "The Rhai handler script path. Declared for rhai handlers only; the\ncompiler enforces the pairing with the declared backend.",
+ "type": [
+ "string",
+ "null"
+ ]
},
"writes": {
"items": {
@@ -158,7 +178,6 @@
},
"required": [
"kind",
- "script",
"abi",
"writes"
],
@@ -682,36 +701,11 @@
},
"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"
@@ -723,13 +717,6 @@
],
"type": "string"
},
- "ChangeRequestDispositionSource": {
- "enum": [
- "apply",
- "queue"
- ],
- "type": "string"
- },
"ChangeRequestEffectSource": {
"additionalProperties": false,
"properties": {
@@ -887,6 +874,55 @@
],
"type": "object"
},
+ "ChangeRequestNoReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestNoReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestNoReviewModeSource"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestOnApprovedModeSource": {
+ "enum": [
+ "manual",
+ "automatic"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestOnApprovedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "executor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedModeSource",
+ "default": "manual"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "description": "The authored change-request planner backend. The wasm backend is\nexpressible so a declared WASM planner is refused by the compiler with a\npinned diagnostic; WASM planners stay unsupported. Retained Rust name for\nthe reviewed change-request authoring contract.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
"ChangeRequestPlannerSource": {
"additionalProperties": false,
"properties": {
@@ -894,7 +930,7 @@
"type": "string"
},
"kind": {
- "$ref": "#/$defs/RhaiScriptKindSource"
+ "$ref": "#/$defs/ChangeRequestPlannerKindSource"
},
"requestFields": {
"default": [],
@@ -1049,63 +1085,32 @@
},
"type": "object"
},
- "ChangeRequestReviewModeSource": {
- "enum": [
- "none"
- ],
- "type": "string"
- },
- "ChangeRequestReviewSource": {
+ "ChangeRequestReviewRequirementSource": {
"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"
+ "authority": {
+ "type": "string"
},
- "id": {
+ "policyId": {
"type": "string"
}
},
"required": [
- "id",
- "approvals"
+ "authority",
+ "policyId"
],
"type": "object"
},
+ "ChangeRequestReviewSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewRequirementSource"
+ },
+ {
+ "$ref": "#/$defs/ChangeRequestNoReviewSource"
+ }
+ ]
+ },
"ChangeRequestSelectorSource": {
"oneOf": [
{
@@ -1153,9 +1158,7 @@
"properties": {
"application": {
"$ref": "#/$defs/ChangeRequestApplicationSource",
- "default": {
- "mode": "manual"
- }
+ "default": {}
},
"effects": {
"default": [],
@@ -1164,6 +1167,12 @@
},
"type": "array"
},
+ "onApproved": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
"planner": {
"anyOf": [
{
@@ -1535,9 +1544,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"required": {
"default": false,
"type": "boolean"
@@ -1583,9 +1607,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maximum": {
"default": null,
"type": [
@@ -1983,13 +2022,6 @@
"entity": {
"type": "string"
},
- "events": {
- "default": [],
- "items": {
- "$ref": "#/$defs/EventSource"
- },
- "type": "array"
- },
"fields": {
"default": [],
"items": {
@@ -2007,6 +2039,13 @@
}
]
},
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
"indexes": {
"default": [],
"items": {
@@ -2101,13 +2140,6 @@
},
"type": "array"
},
- "events": {
- "default": [],
- "items": {
- "$ref": "#/$defs/EventSource"
- },
- "type": "array"
- },
"fields": {
"default": [],
"items": {
@@ -2125,6 +2157,13 @@
}
]
},
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
"id": {
"type": "string"
},
@@ -2228,14 +2267,6 @@
"const": "request_lifecycle",
"type": "string"
},
- "stages": {
- "default": [],
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
"toStates": {
"default": [],
"items": {
@@ -2277,55 +2308,6 @@
],
"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",
@@ -2347,6 +2329,25 @@
],
"type": "object"
},
+ "FieldLookupSource": {
+ "additionalProperties": false,
+ "description": "The authored blind-index declaration for an encrypted field. Normalization\ncomposes in declared order over the canonical string form of the value;\n`unique` requests a unique index over the derived blind-index column.",
+ "properties": {
+ "normalization": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/NormalizationStep"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "unique": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
"FieldSource": {
"anyOf": [
{
@@ -2399,6 +2400,159 @@
],
"type": "object"
},
+ "HookHandlerSource": {
+ "description": "Where a hook's handler runs.\n\nThe pairing rule: `rhai` requires `script`, `wasm` requires `module`,\n`url` requires `destinationId`, and each\nkind requires exactly its own fields and nothing else. `abi` is required on\n`rhai` and `wasm` and forbidden on `url`; its value is closed and checked at\ncompile time in [`crate::validate_hooks`].",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "description": "A reviewed Rhai script in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the script speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "rhai",
+ "type": "string"
+ },
+ "script": {
+ "description": "Script path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "script"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A reviewed WASM module in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the module speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "wasm",
+ "type": "string"
+ },
+ "module": {
+ "description": "Module path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "module"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A logical destination bound to a URL and a secret at runtime. The\nruntime names the binding it looks the key up in; the project carries\nno URL or secret.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in the runtime destination binding.",
+ "type": "string"
+ },
+ "kind": {
+ "const": "url",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "HookPhase": {
+ "description": "When the hook runs relative to the triggering transaction.",
+ "oneOf": [
+ {
+ "const": "before",
+ "description": "Runs inside the triggering transaction and may refuse or shape the\nchange. Local handler kinds only.",
+ "type": "string"
+ },
+ {
+ "const": "after",
+ "description": "Runs after commit in the post-commit worker and cannot affect the\ntriggering transaction.",
+ "type": "string"
+ }
+ ]
+ },
+ "HookSource": {
+ "additionalProperties": false,
+ "description": "One declared hook on an entity.\n\nThe shape is [`registry_platform_hooks::HookDeclaration`] with `trigger`\nand `when` closed to the vocabulary this compiler validates, and with\n`handler` optional. A hook that declares no handler is still recorded in\nthe outbox and delivered nowhere; production compilation refuses that.\n\nEntity hooks run after the triggering transaction commits, so `phase` is\nwritten and the compiler refuses any value it cannot run.",
+ "properties": {
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/HookHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Governed, destination-neutral delivery. `destinationId` is a key in\nruntime `eventDestinations`; the project carries no URL or secret, and\ndeployment configuration may tighten the bounds it binds but cannot\nsupply or widen this authority. Production compilation requires it."
+ },
+ "id": {
+ "description": "Stable hook contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "phase": {
+ "$ref": "#/$defs/HookPhase",
+ "description": "When the hook runs relative to the triggering transaction."
+ },
+ "principal": {
+ "description": "The access profile a proposal from this hook is applied under.\nOptional: a hook that declares none is a non-proposing hook, and a\nproposal from one is refused and dead-lettered at delivery time.\nDeclaring none is not an authoring error.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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 hook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to run on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "phase",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
"IndexSource": {
"additionalProperties": false,
"properties": {
@@ -2473,6 +2627,25 @@
],
"type": "string"
},
+ "NormalizationStep": {
+ "description": "A normalization step applied to the canonical string form of an encrypted\nvalue before its blind index is derived. The vocabulary is closed.",
+ "oneOf": [
+ {
+ "enum": [
+ "trim",
+ "uppercase",
+ "lowercase",
+ "collapse-whitespace"
+ ],
+ "type": "string"
+ },
+ {
+ "const": "remove-separators",
+ "description": "Strips spaces, hyphens, slashes, and dots from the canonical form.",
+ "type": "string"
+ }
+ ]
+ },
"Operation": {
"enum": [
"create",
@@ -2485,9 +2658,6 @@
"revisions",
"snapshot",
"submit_request",
- "approve_request",
- "reject_request",
- "request_revision",
"revise_request",
"cancel_request",
"apply_request",
@@ -2581,12 +2751,6 @@
],
"type": "object"
},
- "RhaiScriptKindSource": {
- "enum": [
- "rhai"
- ],
- "type": "string"
- },
"RowBoundarySource": {
"additionalProperties": false,
"properties": {
@@ -2645,9 +2809,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maxLength": {
"format": "uint32",
"minimum": 0,
@@ -2712,9 +2891,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maxBytes": {
"format": "uint32",
"minimum": 0,
@@ -2791,9 +2985,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maxLength": {
"format": "uint32",
"minimum": 0,
@@ -3064,20 +3273,6 @@
"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",
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 cede8e75..83d2516d 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 42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf
- Immutable artifact https://id.registrystack.org/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json
+ Artifact SHA-256 854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6
+ Immutable artifact https://id.registrystack.org/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json
diff --git a/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json b/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json
index 341c931e..03c931b3 100644
--- a/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json
+++ b/public/schemas/breg/authoring/registry-project.v1alpha1.schema.json
@@ -155,6 +155,14 @@
],
"type": "object"
},
+ "ActionHandlerKindSource": {
+ "description": "The authored action-handler backend. The wasm backend is admitted when\nthis build of the compiler carries the `wasm` cargo feature, which\nvalidates a declared WASM handler module against the platform guest\nABI at compile time; without that feature a declared WASM handler is\nrefused with the pinned `action.handler.wasm_build_unsupported`\ndiagnostic.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
"ActionHandlerRefusalSource": {
"additionalProperties": false,
"properties": {
@@ -173,6 +181,7 @@
},
"ActionHandlerSource": {
"additionalProperties": false,
+ "description": "The authored action handler: the shared hook handler declaration, with the\nauthorization members a governed action adds.\n\n`handler` is [`HookHandlerSource`], the same declaration an entity hook\ncarries, so this product spells a handler one way. It is flattened, so the\nauthored member set stays `kind`, the source reference the kind names,\n`abi`, `writes`, and `refusals`. `writes` and `refusals` are this\nproduct's own: they bound what the handler may write and the refusals it\nmay return, and no hook declares them.\n\nTwo rules narrow the shared declaration to what this path runs. `abi` is\noptional there and required here, refused at deserialization, because\nevery backend an action may declare speaks one. The `url` kind is refused\nby the compiler at `actions[].handler.kind`, because an action handler\nruns inside the triggering transaction and cannot be remote.",
"properties": {
"abi": {
"enum": [
@@ -182,7 +191,14 @@
"type": "string"
},
"kind": {
- "$ref": "#/$defs/RhaiScriptKindSource"
+ "$ref": "#/$defs/ActionHandlerKindSource"
+ },
+ "module": {
+ "description": "The WASM handler module path, project-local. Declared for wasm\nhandlers only; the compiler enforces the pairing with the declared\nbackend.",
+ "type": [
+ "string",
+ "null"
+ ]
},
"refusals": {
"default": [],
@@ -192,7 +208,11 @@
"type": "array"
},
"script": {
- "type": "string"
+ "description": "The Rhai handler script path. Declared for rhai handlers only; the\ncompiler enforces the pairing with the declared backend.",
+ "type": [
+ "string",
+ "null"
+ ]
},
"writes": {
"items": {
@@ -203,7 +223,6 @@
},
"required": [
"kind",
- "script",
"abi",
"writes"
],
@@ -775,36 +794,11 @@
},
"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"
@@ -816,13 +810,6 @@
],
"type": "string"
},
- "ChangeRequestDispositionSource": {
- "enum": [
- "apply",
- "queue"
- ],
- "type": "string"
- },
"ChangeRequestEffectSource": {
"additionalProperties": false,
"properties": {
@@ -980,6 +967,55 @@
],
"type": "object"
},
+ "ChangeRequestNoReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestNoReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestNoReviewModeSource"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestOnApprovedModeSource": {
+ "enum": [
+ "manual",
+ "automatic"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestOnApprovedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "executor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedModeSource",
+ "default": "manual"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "description": "The authored change-request planner backend. The wasm backend is\nexpressible so a declared WASM planner is refused by the compiler with a\npinned diagnostic; WASM planners stay unsupported. Retained Rust name for\nthe reviewed change-request authoring contract.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
"ChangeRequestPlannerSource": {
"additionalProperties": false,
"properties": {
@@ -987,7 +1023,7 @@
"type": "string"
},
"kind": {
- "$ref": "#/$defs/RhaiScriptKindSource"
+ "$ref": "#/$defs/ChangeRequestPlannerKindSource"
},
"requestFields": {
"default": [],
@@ -1142,63 +1178,32 @@
},
"type": "object"
},
- "ChangeRequestReviewModeSource": {
- "enum": [
- "none"
- ],
- "type": "string"
- },
- "ChangeRequestReviewSource": {
+ "ChangeRequestReviewRequirementSource": {
"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"
+ "authority": {
+ "type": "string"
},
- "id": {
+ "policyId": {
"type": "string"
}
},
"required": [
- "id",
- "approvals"
+ "authority",
+ "policyId"
],
"type": "object"
},
+ "ChangeRequestReviewSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewRequirementSource"
+ },
+ {
+ "$ref": "#/$defs/ChangeRequestNoReviewSource"
+ }
+ ]
+ },
"ChangeRequestSelectorSource": {
"oneOf": [
{
@@ -1246,9 +1251,7 @@
"properties": {
"application": {
"$ref": "#/$defs/ChangeRequestApplicationSource",
- "default": {
- "mode": "manual"
- }
+ "default": {}
},
"effects": {
"default": [],
@@ -1257,6 +1260,12 @@
},
"type": "array"
},
+ "onApproved": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
"planner": {
"anyOf": [
{
@@ -1628,9 +1637,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"required": {
"default": false,
"type": "boolean"
@@ -1676,9 +1700,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maximum": {
"default": null,
"type": [
@@ -2117,13 +2156,6 @@
],
"default": null
},
- "reviewStages": {
- "default": [],
- "items": {
- "$ref": "#/$defs/ReviewStagePermissionSource"
- },
- "type": "array"
- },
"revisionAccess": {
"default": false,
"type": "boolean"
@@ -2245,13 +2277,6 @@
},
"type": "array"
},
- "events": {
- "default": [],
- "items": {
- "$ref": "#/$defs/EventSource"
- },
- "type": "array"
- },
"fields": {
"default": [],
"items": {
@@ -2269,6 +2294,13 @@
}
]
},
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
"id": {
"type": "string"
},
@@ -2372,14 +2404,6 @@
"const": "request_lifecycle",
"type": "string"
},
- "stages": {
- "default": [],
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
"toStates": {
"default": [],
"items": {
@@ -2421,55 +2445,6 @@
],
"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",
@@ -2517,6 +2492,25 @@
],
"type": "object"
},
+ "FieldLookupSource": {
+ "additionalProperties": false,
+ "description": "The authored blind-index declaration for an encrypted field. Normalization\ncomposes in declared order over the canonical string form of the value;\n`unique` requests a unique index over the derived blind-index column.",
+ "properties": {
+ "normalization": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/NormalizationStep"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "unique": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
"FieldSource": {
"anyOf": [
{
@@ -2569,6 +2563,159 @@
],
"type": "object"
},
+ "HookHandlerSource": {
+ "description": "Where a hook's handler runs.\n\nThe pairing rule: `rhai` requires `script`, `wasm` requires `module`,\n`url` requires `destinationId`, and each\nkind requires exactly its own fields and nothing else. `abi` is required on\n`rhai` and `wasm` and forbidden on `url`; its value is closed and checked at\ncompile time in [`crate::validate_hooks`].",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "description": "A reviewed Rhai script in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the script speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "rhai",
+ "type": "string"
+ },
+ "script": {
+ "description": "Script path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "script"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A reviewed WASM module in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the module speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "wasm",
+ "type": "string"
+ },
+ "module": {
+ "description": "Module path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "module"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A logical destination bound to a URL and a secret at runtime. The\nruntime names the binding it looks the key up in; the project carries\nno URL or secret.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in the runtime destination binding.",
+ "type": "string"
+ },
+ "kind": {
+ "const": "url",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "HookPhase": {
+ "description": "When the hook runs relative to the triggering transaction.",
+ "oneOf": [
+ {
+ "const": "before",
+ "description": "Runs inside the triggering transaction and may refuse or shape the\nchange. Local handler kinds only.",
+ "type": "string"
+ },
+ {
+ "const": "after",
+ "description": "Runs after commit in the post-commit worker and cannot affect the\ntriggering transaction.",
+ "type": "string"
+ }
+ ]
+ },
+ "HookSource": {
+ "additionalProperties": false,
+ "description": "One declared hook on an entity.\n\nThe shape is [`registry_platform_hooks::HookDeclaration`] with `trigger`\nand `when` closed to the vocabulary this compiler validates, and with\n`handler` optional. A hook that declares no handler is still recorded in\nthe outbox and delivered nowhere; production compilation refuses that.\n\nEntity hooks run after the triggering transaction commits, so `phase` is\nwritten and the compiler refuses any value it cannot run.",
+ "properties": {
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/HookHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Governed, destination-neutral delivery. `destinationId` is a key in\nruntime `eventDestinations`; the project carries no URL or secret, and\ndeployment configuration may tighten the bounds it binds but cannot\nsupply or widen this authority. Production compilation requires it."
+ },
+ "id": {
+ "description": "Stable hook contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "phase": {
+ "$ref": "#/$defs/HookPhase",
+ "description": "When the hook runs relative to the triggering transaction."
+ },
+ "principal": {
+ "description": "The access profile a proposal from this hook is applied under.\nOptional: a hook that declares none is a non-proposing hook, and a\nproposal from one is refused and dead-lettered at delivery time.\nDeclaring none is not an authoring error.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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 hook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to run on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "phase",
+ "trigger",
+ "projection"
+ ],
+ "type": "object"
+ },
"IndexSource": {
"additionalProperties": false,
"properties": {
@@ -3335,6 +3482,25 @@
],
"type": "string"
},
+ "NormalizationStep": {
+ "description": "A normalization step applied to the canonical string form of an encrypted\nvalue before its blind index is derived. The vocabulary is closed.",
+ "oneOf": [
+ {
+ "enum": [
+ "trim",
+ "uppercase",
+ "lowercase",
+ "collapse-whitespace"
+ ],
+ "type": "string"
+ },
+ {
+ "const": "remove-separators",
+ "description": "Strips spaces, hyphens, slashes, and dots from the canonical form.",
+ "type": "string"
+ }
+ ]
+ },
"Operation": {
"enum": [
"create",
@@ -3347,9 +3513,6 @@
"revisions",
"snapshot",
"submit_request",
- "approve_request",
- "reject_request",
- "request_revision",
"revise_request",
"cancel_request",
"apply_request",
@@ -3650,59 +3813,6 @@
}
]
},
- "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": {
@@ -3793,9 +3903,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maxLength": {
"format": "uint32",
"minimum": 0,
@@ -3860,9 +3985,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maxBytes": {
"format": "uint32",
"minimum": 0,
@@ -3951,9 +4091,24 @@
"classification": {
"$ref": "#/$defs/Classification"
},
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
"maxLength": {
"format": "uint32",
"minimum": 0,
@@ -4243,20 +4398,6 @@
"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",
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 ddcd3c2b..0da62391 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 2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa
- Immutable artifact https://id.registrystack.org/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json
+ Artifact SHA-256 fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda
+ Immutable artifact https://id.registrystack.org/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json
diff --git a/public/schemas/breg/runtime/runtime.v1alpha1.schema.json b/public/schemas/breg/runtime/runtime.v1alpha1.schema.json
index 609772ea..5ce0cbbc 100644
--- a/public/schemas/breg/runtime/runtime.v1alpha1.schema.json
+++ b/public/schemas/breg/runtime/runtime.v1alpha1.schema.json
@@ -693,6 +693,85 @@
},
"type": "object"
},
+ "RawFieldEncryptionConfig": {
+ "additionalProperties": false,
+ "description": "Raw `fieldEncryption` deployment block, absent by default.",
+ "properties": {
+ "provider": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawFieldEncryptionProvider"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawFieldEncryptionProvider": {
+ "description": "Raw provider binding; the `kind` member selects the custodian.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "keyName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "transit",
+ "type": "string"
+ },
+ "mount": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "timeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "unixSocketPath": {
+ "maxLength": 4096,
+ "minLength": 2,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "unixSocketPath",
+ "mount",
+ "keyName"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "dekRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "localFile",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "dekRef"
+ ],
+ "type": "object"
+ }
+ ]
+ },
"RawFileSecretProviderConfig": {
"additionalProperties": false,
"properties": {
@@ -1085,6 +1164,131 @@
],
"type": "object"
},
+ "RawReviewAuthorityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "completionRecipient": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "completionTokenRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "privateKeyJwt": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawReviewPrivateKeyJwtConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "producerId": {
+ "type": "string"
+ },
+ "profile": {
+ "type": "string"
+ },
+ "recoveryDays": {
+ "format": "uint32",
+ "maximum": 3650,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "tokenRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "endpoint",
+ "profile",
+ "producerId",
+ "recoveryDays"
+ ],
+ "type": "object"
+ },
+ "RawReviewExecutorConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": "string"
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "registryId": {
+ "type": "string"
+ },
+ "tokenRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpoint",
+ "tokenRef",
+ "registryId",
+ "accessProfile"
+ ],
+ "type": "object"
+ },
+ "RawReviewPrivateKeyJwtConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "assertionAudience": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientAssertionKeyRef": {
+ "type": "string"
+ },
+ "clientIdRef": {
+ "type": "string"
+ },
+ "resource": {
+ "type": "string"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenEndpoint",
+ "clientIdRef",
+ "clientAssertionKeyRef",
+ "assertionAudience",
+ "resource",
+ "scopes"
+ ],
+ "type": "object"
+ },
"RawSecretProvidersConfig": {
"additionalProperties": false,
"properties": {
@@ -1133,6 +1337,33 @@
],
"type": "object"
},
+ "RawWasmExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "backend": {
+ "default": "pulley",
+ "description": "The backend handler modules are compiled and executed for: `pulley`\n(default, the portable interpreter target) or `native`. Any other\nvalue is refused as an invalid `wasmExecution` section.",
+ "type": "string"
+ },
+ "maxGuestMemoryBytes": {
+ "default": 33554432,
+ "description": "Defaults to the platform guest-memory ceiling (32 MiB).",
+ "format": "uint64",
+ "maximum": 1073741824,
+ "minimum": 1048576,
+ "type": "integer"
+ },
+ "maxModuleBytes": {
+ "default": 2097152,
+ "description": "Defaults to the default execution-time module ceiling (2 MiB); the\nstructural admission ceiling (5 MiB) is operator-reachable here.",
+ "format": "uint64",
+ "maximum": 5242880,
+ "minimum": 1024,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
"TaskGrantStatusConfig": {
"additionalProperties": false,
"properties": {
@@ -1235,6 +1466,11 @@
"default": {},
"type": "object"
},
+ "fieldEncryption": {
+ "$ref": "#/$defs/RawFieldEncryptionConfig",
+ "default": {},
+ "description": "Optional field-encryption data-key provider. Absent by default, which\nserves unencrypted entities only."
+ },
"identity": {
"$ref": "#/$defs/RawDeploymentIdentity"
},
@@ -1271,6 +1507,20 @@
"package": {
"$ref": "#/$defs/RawPackageConfig"
},
+ "reviewAuthorities": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawReviewAuthorityConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "reviewExecutors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawReviewExecutorConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
"secretProviders": {
"$ref": "#/$defs/RawSecretProvidersConfig"
},
@@ -1280,6 +1530,15 @@
"$ref": "#/$defs/TaskGrantStatusConfig"
},
"type": "array"
+ },
+ "wasmExecution": {
+ "$ref": "#/$defs/RawWasmExecutionConfig",
+ "default": {
+ "backend": "pulley",
+ "maxGuestMemoryBytes": 33554432,
+ "maxModuleBytes": 2097152
+ },
+ "description": "Optional WASM handler execution budgets. Parsed in every build;\nexecuted only in builds with the `wasm` cargo feature, on by default."
}
},
"required": [
diff --git a/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html b/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html
index 5290824e..787597ff 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 c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c
- Immutable artifact https://id.registrystack.org/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json
+ Artifact SHA-256 4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30
+ Immutable artifact https://id.registrystack.org/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json
diff --git a/public/schemas/casework/runtime/runtime.v1alpha1.schema.json b/public/schemas/casework/runtime/runtime.v1alpha1.schema.json
index 05a02a0e..c34daa94 100644
--- a/public/schemas/casework/runtime/runtime.v1alpha1.schema.json
+++ b/public/schemas/casework/runtime/runtime.v1alpha1.schema.json
@@ -308,6 +308,43 @@
}
]
},
+ "ReviewCompletionRuntimeConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bearerTokenRef": {
+ "type": "string"
+ },
+ "maximumAttempts": {
+ "default": 12,
+ "format": "uint32",
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "retrySeconds": {
+ "default": 30,
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "timeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "bearerTokenRef"
+ ],
+ "type": "object"
+ },
"RuntimePackageConfig": {
"additionalProperties": false,
"properties": {
@@ -530,6 +567,12 @@
"package": {
"$ref": "#/$defs/RuntimePackageConfig"
},
+ "reviewCompletionDestinations": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ReviewCompletionRuntimeConfig"
+ },
+ "type": "object"
+ },
"secretProviders": {
"$ref": "#/$defs/SecretProvidersConfig"
},
diff --git a/public/schemas/casework/runtime/runtime.v1alpha1.schema/index.html b/public/schemas/casework/runtime/runtime.v1alpha1.schema/index.html
index 798629e7..5cff4a87 100644
--- a/public/schemas/casework/runtime/runtime.v1alpha1.schema/index.html
+++ b/public/schemas/casework/runtime/runtime.v1alpha1.schema/index.html
@@ -47,8 +47,8 @@ Lifecycle
Status active
Compatibility line v1alpha1
Owner casework
- Artifact SHA-256 74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197
- Immutable artifact https://id.registrystack.org/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json
+ Artifact SHA-256 d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02
+ Immutable artifact https://id.registrystack.org/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json
diff --git a/public/schemas/index.html b/public/schemas/index.html
index 3e5bdaf6..3d972647 100644
--- a/public/schemas/index.html
+++ b/public/schemas/index.html
@@ -39,7 +39,7 @@ 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.
- 11 published identifiers
+ 12 published identifiers
diff --git a/public/schemas/index.json b/public/schemas/index.json
index e1a540b0..ae451bf5 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/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json",
+ "source": "src/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
},
- "artifact_sha256": "42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json",
+ "artifact_sha256": "854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.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/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json",
+ "source": "src/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
},
- "artifact_sha256": "2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json",
+ "artifact_sha256": "fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.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/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json",
+ "source": "src/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
},
- "artifact_sha256": "c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json",
+ "artifact_sha256": "4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json",
"id": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
"documented_by": [
{
@@ -107,15 +107,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "casework",
- "source": "src/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json",
+ "source": "src/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/schema.rs",
- "sha256": "e7694b4e5247f8fa7f49f05a65811e740eaa4c960f41d967508bba29e5c437d9"
+ "sha256": "299f015779102505df7270f30de94ac96268f1c0736cdad566ec1e1920b842f9"
},
- "artifact_sha256": "74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json",
+ "artifact_sha256": "d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json",
"id": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
"documented_by": [
{
@@ -143,7 +143,7 @@
"source": "src/artifacts/sha256/e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/identifiers/contracts/catalog.v1.schema.json",
"sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d"
},
@@ -176,7 +176,7 @@
"source": "src/artifacts/sha256/31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/registry-record/schema/registry-record-v1.schema.json",
"sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e"
},
@@ -250,7 +250,7 @@
"source": "src/artifacts/sha256/e2b2be3baabb1c5f147a4095eade0d85702d814ec93049b62208fdd7ab1265b8.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/artifacts.rs",
"sha256": "7feb222632ac997903c8809e190fa0c008bf17790e39fa075fc10c3fd3e0bec1"
},
@@ -291,7 +291,7 @@
"source": "src/artifacts/sha256/c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relayctl/schemas/authoring/registry.schema.json",
"sha256": "c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5"
},
@@ -332,7 +332,7 @@
"source": "src/artifacts/sha256/9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relayctl/schemas/authoring/runtime.schema.json",
"sha256": "9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b"
},
@@ -402,6 +402,39 @@
"scope": "identifier metadata",
"statement": "This site 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/scheduling/runtime/runtime.v1alpha1.schema.json",
+ "title": "Registry Scheduling runtime configuration",
+ "description": "Registry Scheduling runtime configuration JSON Schema.",
+ "kind": "schema",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "source": "src/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling/src/schema.rs",
+ "sha256": "99d43221904847661cf4331d1d5b4fd7c936bbb60ead987509bcb6c3f83b61c5"
+ },
+ "artifact_sha256": "2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json",
+ "id": "https://id.registrystack.org/schemas/scheduling/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."
+ }
}
]
}
diff --git a/public/schemas/scheduling/runtime/runtime.v1alpha1.schema.json b/public/schemas/scheduling/runtime/runtime.v1alpha1.schema.json
new file mode 100644
index 00000000..59ec7a93
--- /dev/null
+++ b/public/schemas/scheduling/runtime/runtime.v1alpha1.schema.json
@@ -0,0 +1,523 @@
+{
+ "$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"
+ },
+ "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"
+ },
+ "DestinationsConfig": {
+ "additionalProperties": false,
+ "description": "Where due reminder and lifecycle-hook intents are dispatched. An absent\nreminders destination and an empty hook map are supported: intents stay\nlocal, so an operator can adopt the product before wiring delivery buses.",
+ "properties": {
+ "hooks": {
+ "additionalProperties": {
+ "$ref": "#/$defs/HookDestinationConfig"
+ },
+ "description": "Logical URL hook destinations. The governed policy names only these\nids; URL, signing secret, and retry ceilings stay deployment-owned.",
+ "type": "object"
+ },
+ "reminders": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ReminderDestinationConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "FileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "HookDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "attemptTimeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "hmacSha256KeyRef": {
+ "type": "string"
+ },
+ "maximumAttempts": {
+ "default": 8,
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "hmacSha256KeyRef"
+ ],
+ "type": "object"
+ },
+ "ListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "default": "127.0.0.1:8105",
+ "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": "The assertion authorities each client may exchange a subject token\nfrom, keyed by client identifier.\n\nA deployment that performs no token exchange leaves this empty. Once a\nclient is listed, a token it exchanged is accepted only for one of that\nclient's declared authorities, so an assertion minted by an unrelated\nauthority the issuer happens to federate cannot become a booking\ncredential here.",
+ "maxProperties": 64,
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1
+ },
+ "type": "object"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "explainScope": {
+ "default": "scheduling-explain",
+ "description": "The scope the separately authorized explain path requires.",
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "jwksSource": {
+ "$ref": "#/$defs/OidcJwksSource"
+ },
+ "jwksUri": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "readsScope": {
+ "default": "scheduling-read",
+ "description": "The scope every listing and availability read requires.",
+ "type": "string"
+ },
+ "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"
+ }
+ ]
+ },
+ "ReminderDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bearerTokenRef": {
+ "default": null,
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "RetentionConfig": {
+ "additionalProperties": false,
+ "description": "Retention periods the retention sweep enforces. Every value is deployment\nconfiguration, never policy: a jurisdiction's retention schedule approves\nthe deployed numbers, and changing one is an operational event.",
+ "properties": {
+ "attemptReceiptDays": {
+ "default": 7,
+ "description": "How long a stored idempotency receipt stays replayable.",
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "hookPayloadDays": {
+ "default": 7,
+ "description": "Lifetime of canonical hook envelopes retained for retry and\ndead-letter inspection.",
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePackageConfig": {
+ "additionalProperties": false,
+ "description": "The root of an authored scheduling project, holding `scheduling.yaml` and\nits optional package manifest.",
+ "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"
+ },
+ "TlsTermination": {
+ "description": "Declares the trusted transport boundary for the runtime's plaintext HTTP\nlistener. Production listeners require operator-controlled upstream TLS\ntermination; direct plaintext is limited to the explicit loopback-only\ndevelopment mode.",
+ "enum": [
+ "operator-controlled-upstream",
+ "development-loopback"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/scheduling/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"
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "description": "The operator runtime configuration document.",
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/scheduling-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/DatabaseConfig"
+ },
+ "destinations": {
+ "$ref": "#/$defs/DestinationsConfig"
+ },
+ "kind": {
+ "const": "SchedulingRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/ListenerConfig"
+ },
+ "package": {
+ "$ref": "#/$defs/RuntimePackageConfig"
+ },
+ "retention": {
+ "$ref": "#/$defs/RetentionConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/SecretProvidersConfig"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "package",
+ "listener",
+ "secretProviders",
+ "database",
+ "authentication",
+ "audit",
+ "retention"
+ ],
+ "title": "Registry Scheduling runtime configuration",
+ "type": "object"
+}
diff --git a/public/schemas/scheduling/runtime/runtime.v1alpha1.schema/index.html b/public/schemas/scheduling/runtime/runtime.v1alpha1.schema/index.html
new file mode 100644
index 00000000..cf3f67d9
--- /dev/null
+++ b/public/schemas/scheduling/runtime/runtime.v1alpha1.schema/index.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+ Registry Scheduling runtime configuration | Registry Stack identifiers
+
+
+
+
+
+
+
+
+
+
+
JSON Schema
+
Registry Scheduling runtime configuration
+
Registry Scheduling runtime configuration JSON Schema.
+
https://id.registrystack.org/schemas/scheduling/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/vocab/codelist.json b/public/vocab/codelist.json
index 6ad91e84..efd6d615 100644
--- a/public/vocab/codelist.json
+++ b/public/vocab/codelist.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 c789421f..54c81800 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/coordinateReferenceSystem.json b/public/vocab/coordinateReferenceSystem.json
index 1ccd0a9f..42b357de 100644
--- a/public/vocab/coordinateReferenceSystem.json
+++ b/public/vocab/coordinateReferenceSystem.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 fbf37854..f441bf07 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 7e1ce49d..5d0eae6b 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 6701a1d0..32faa808 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/geometryType.json b/public/vocab/geometryType.json
index 93bdc17f..83f70a84 100644
--- a/public/vocab/geometryType.json
+++ b/public/vocab/geometryType.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 352bf422..aaedec88 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocab/handling.json b/public/vocab/handling.json
index 8441614b..d535725e 100644
--- a/public/vocab/handling.json
+++ b/public/vocab/handling.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/relay-v2/CONCEPT.md",
"sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
},
diff --git a/public/vocab/handling/index.html b/public/vocab/handling/index.html
index f29c3e46..b0740aa2 100644
--- a/public/vocab/handling/index.html
+++ b/public/vocab/handling/index.html
@@ -69,7 +69,7 @@ Identifier record
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/relay-v2/CONCEPT.md",
"sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
},
diff --git a/public/vocab/registry-record/index.html b/public/vocab/registry-record/index.html
index cb51aec9..a881b897 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 7d8e0832..0ab44a40 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/registry-record/context/registry-record-v1.jsonld",
"sha256": "9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71"
},
diff --git a/public/vocab/sourceRequired.json b/public/vocab/sourceRequired.json
index 29becc22..bde379ac 100644
--- a/public/vocab/sourceRequired.json
+++ b/public/vocab/sourceRequired.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 fcb1545e..e0cd7a5d 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocabularies/core.json b/public/vocabularies/core.json
index 6701a1d0..32faa808 100644
--- a/public/vocabularies/core.json
+++ b/public/vocabularies/core.json
@@ -8,7 +8,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/public/vocabularies/index.json b/public/vocabularies/index.json
index e49f2f7b..b29ba08c 100644
--- a/public/vocabularies/index.json
+++ b/public/vocabularies/index.json
@@ -10,7 +10,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -45,7 +45,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/relay-v2/CONCEPT.md",
"sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
},
@@ -75,7 +75,7 @@
"owner": "registry-record",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/registry-record/context/registry-record-v1.jsonld",
"sha256": "9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71"
},
@@ -105,7 +105,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -135,7 +135,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -165,7 +165,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
@@ -195,7 +195,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
},
diff --git a/src/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json b/src/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json
new file mode 100644
index 00000000..59ec7a93
--- /dev/null
+++ b/src/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json
@@ -0,0 +1,523 @@
+{
+ "$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"
+ },
+ "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"
+ },
+ "DestinationsConfig": {
+ "additionalProperties": false,
+ "description": "Where due reminder and lifecycle-hook intents are dispatched. An absent\nreminders destination and an empty hook map are supported: intents stay\nlocal, so an operator can adopt the product before wiring delivery buses.",
+ "properties": {
+ "hooks": {
+ "additionalProperties": {
+ "$ref": "#/$defs/HookDestinationConfig"
+ },
+ "description": "Logical URL hook destinations. The governed policy names only these\nids; URL, signing secret, and retry ceilings stay deployment-owned.",
+ "type": "object"
+ },
+ "reminders": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ReminderDestinationConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EnvironmentSecretProviderConfig": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "FileSecretProviderConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "root": {
+ "pattern": "^/",
+ "type": "string"
+ }
+ },
+ "required": [
+ "root"
+ ],
+ "type": "object"
+ },
+ "HookDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "attemptTimeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint32",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "hmacSha256KeyRef": {
+ "type": "string"
+ },
+ "maximumAttempts": {
+ "default": 8,
+ "format": "uint8",
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "hmacSha256KeyRef"
+ ],
+ "type": "object"
+ },
+ "ListenerConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bind": {
+ "default": "127.0.0.1:8105",
+ "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": "The assertion authorities each client may exchange a subject token\nfrom, keyed by client identifier.\n\nA deployment that performs no token exchange leaves this empty. Once a\nclient is listed, a token it exchanged is accepted only for one of that\nclient's declared authorities, so an assertion minted by an unrelated\nauthority the issuer happens to federate cannot become a booking\ncredential here.",
+ "maxProperties": 64,
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1
+ },
+ "type": "object"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "explainScope": {
+ "default": "scheduling-explain",
+ "description": "The scope the separately authorized explain path requires.",
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "jwksSource": {
+ "$ref": "#/$defs/OidcJwksSource"
+ },
+ "jwksUri": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "readsScope": {
+ "default": "scheduling-read",
+ "description": "The scope every listing and availability read requires.",
+ "type": "string"
+ },
+ "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"
+ }
+ ]
+ },
+ "ReminderDestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bearerTokenRef": {
+ "default": null,
+ "pattern": "^secret:(?:env|file)/",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "RetentionConfig": {
+ "additionalProperties": false,
+ "description": "Retention periods the retention sweep enforces. Every value is deployment\nconfiguration, never policy: a jurisdiction's retention schedule approves\nthe deployed numbers, and changing one is an operational event.",
+ "properties": {
+ "attemptReceiptDays": {
+ "default": 7,
+ "description": "How long a stored idempotency receipt stays replayable.",
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "hookPayloadDays": {
+ "default": 7,
+ "description": "Lifetime of canonical hook envelopes retained for retry and\ndead-letter inspection.",
+ "format": "uint16",
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePackageConfig": {
+ "additionalProperties": false,
+ "description": "The root of an authored scheduling project, holding `scheduling.yaml` and\nits optional package manifest.",
+ "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"
+ },
+ "TlsTermination": {
+ "description": "Declares the trusted transport boundary for the runtime's plaintext HTTP\nlistener. Production listeners require operator-controlled upstream TLS\ntermination; direct plaintext is limited to the explicit loopback-only\ndevelopment mode.",
+ "enum": [
+ "operator-controlled-upstream",
+ "development-loopback"
+ ],
+ "type": "string"
+ }
+ },
+ "$id": "https://id.registrystack.org/schemas/scheduling/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"
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "description": "The operator runtime configuration document.",
+ "properties": {
+ "apiVersion": {
+ "const": "registry.registrystack.org/scheduling-runtime/v1alpha1",
+ "type": "string"
+ },
+ "audit": {
+ "$ref": "#/$defs/AuditConfig"
+ },
+ "authentication": {
+ "$ref": "#/$defs/AuthenticationConfig"
+ },
+ "database": {
+ "$ref": "#/$defs/DatabaseConfig"
+ },
+ "destinations": {
+ "$ref": "#/$defs/DestinationsConfig"
+ },
+ "kind": {
+ "const": "SchedulingRuntimeConfig",
+ "type": "string"
+ },
+ "listener": {
+ "$ref": "#/$defs/ListenerConfig"
+ },
+ "package": {
+ "$ref": "#/$defs/RuntimePackageConfig"
+ },
+ "retention": {
+ "$ref": "#/$defs/RetentionConfig"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/SecretProvidersConfig"
+ }
+ },
+ "required": [
+ "apiVersion",
+ "kind",
+ "package",
+ "listener",
+ "secretProviders",
+ "database",
+ "authentication",
+ "audit",
+ "retention"
+ ],
+ "title": "Registry Scheduling runtime configuration",
+ "type": "object"
+}
diff --git a/src/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json b/src/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json
new file mode 100644
index 00000000..5ce0cbbc
--- /dev/null
+++ b/src/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json
@@ -0,0 +1,1558 @@
+{
+ "$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"
+ },
+ "RawFieldEncryptionConfig": {
+ "additionalProperties": false,
+ "description": "Raw `fieldEncryption` deployment block, absent by default.",
+ "properties": {
+ "provider": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawFieldEncryptionProvider"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RawFieldEncryptionProvider": {
+ "description": "Raw provider binding; the `kind` member selects the custodian.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "keyName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "transit",
+ "type": "string"
+ },
+ "mount": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "timeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "unixSocketPath": {
+ "maxLength": 4096,
+ "minLength": 2,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "unixSocketPath",
+ "mount",
+ "keyName"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "dekRef": {
+ "maxLength": 140,
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "localFile",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "dekRef"
+ ],
+ "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"
+ },
+ "RawReviewAuthorityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "completionRecipient": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "completionTokenRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "privateKeyJwt": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RawReviewPrivateKeyJwtConfig"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "producerId": {
+ "type": "string"
+ },
+ "profile": {
+ "type": "string"
+ },
+ "recoveryDays": {
+ "format": "uint32",
+ "maximum": 3650,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "tokenRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "endpoint",
+ "profile",
+ "producerId",
+ "recoveryDays"
+ ],
+ "type": "object"
+ },
+ "RawReviewExecutorConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "accessProfile": {
+ "type": "string"
+ },
+ "endpoint": {
+ "type": "string"
+ },
+ "registryId": {
+ "type": "string"
+ },
+ "tokenRef": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpoint",
+ "tokenRef",
+ "registryId",
+ "accessProfile"
+ ],
+ "type": "object"
+ },
+ "RawReviewPrivateKeyJwtConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "assertionAudience": {
+ "type": "string"
+ },
+ "caBundleRef": {
+ "default": null,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "clientAssertionKeyRef": {
+ "type": "string"
+ },
+ "clientIdRef": {
+ "type": "string"
+ },
+ "resource": {
+ "type": "string"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokenEndpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tokenEndpoint",
+ "clientIdRef",
+ "clientAssertionKeyRef",
+ "assertionAudience",
+ "resource",
+ "scopes"
+ ],
+ "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"
+ },
+ "RawWasmExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "backend": {
+ "default": "pulley",
+ "description": "The backend handler modules are compiled and executed for: `pulley`\n(default, the portable interpreter target) or `native`. Any other\nvalue is refused as an invalid `wasmExecution` section.",
+ "type": "string"
+ },
+ "maxGuestMemoryBytes": {
+ "default": 33554432,
+ "description": "Defaults to the platform guest-memory ceiling (32 MiB).",
+ "format": "uint64",
+ "maximum": 1073741824,
+ "minimum": 1048576,
+ "type": "integer"
+ },
+ "maxModuleBytes": {
+ "default": 2097152,
+ "description": "Defaults to the default execution-time module ceiling (2 MiB); the\nstructural admission ceiling (5 MiB) is operator-reachable here.",
+ "format": "uint64",
+ "maximum": 5242880,
+ "minimum": 1024,
+ "type": "integer"
+ }
+ },
+ "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"
+ },
+ "fieldEncryption": {
+ "$ref": "#/$defs/RawFieldEncryptionConfig",
+ "default": {},
+ "description": "Optional field-encryption data-key provider. Absent by default, which\nserves unencrypted entities only."
+ },
+ "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"
+ },
+ "reviewAuthorities": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawReviewAuthorityConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "reviewExecutors": {
+ "additionalProperties": {
+ "$ref": "#/$defs/RawReviewExecutorConfig"
+ },
+ "default": {},
+ "type": "object"
+ },
+ "secretProviders": {
+ "$ref": "#/$defs/RawSecretProvidersConfig"
+ },
+ "taskGrantStatus": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/TaskGrantStatusConfig"
+ },
+ "type": "array"
+ },
+ "wasmExecution": {
+ "$ref": "#/$defs/RawWasmExecutionConfig",
+ "default": {
+ "backend": "pulley",
+ "maxGuestMemoryBytes": 33554432,
+ "maxModuleBytes": 2097152
+ },
+ "description": "Optional WASM handler execution budgets. Parsed in every build;\nexecuted only in builds with the `wasm` cargo feature, on by default."
+ }
+ },
+ "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/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json b/src/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json
new file mode 100644
index 00000000..41a1a19e
--- /dev/null
+++ b/src/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json
@@ -0,0 +1,3328 @@
+{
+ "$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"
+ },
+ "ActionHandlerKindSource": {
+ "description": "The authored action-handler backend. The wasm backend is admitted when\nthis build of the compiler carries the `wasm` cargo feature, which\nvalidates a declared WASM handler module against the platform guest\nABI at compile time; without that feature a declared WASM handler is\nrefused with the pinned `action.handler.wasm_build_unsupported`\ndiagnostic.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "description": "The authored action handler: the shared hook handler declaration, with the\nauthorization members a governed action adds.\n\n`handler` is [`HookHandlerSource`], the same declaration an entity hook\ncarries, so this product spells a handler one way. It is flattened, so the\nauthored member set stays `kind`, the source reference the kind names,\n`abi`, `writes`, and `refusals`. `writes` and `refusals` are this\nproduct's own: they bound what the handler may write and the refusals it\nmay return, and no hook declares them.\n\nTwo rules narrow the shared declaration to what this path runs. `abi` is\noptional there and required here, refused at deserialization, because\nevery backend an action may declare speaks one. The `url` kind is refused\nby the compiler at `actions[].handler.kind`, because an action handler\nruns inside the triggering transaction and cannot be remote.",
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ActionHandlerKindSource"
+ },
+ "module": {
+ "description": "The WASM handler module path, project-local. Declared for wasm\nhandlers only; the compiler enforces the pairing with the declared\nbackend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "description": "The Rhai handler script path. Declared for rhai handlers only; the\ncompiler enforces the pairing with the declared backend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "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"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "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"
+ },
+ "ChangeRequestNoReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestNoReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestNoReviewModeSource"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestOnApprovedModeSource": {
+ "enum": [
+ "manual",
+ "automatic"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestOnApprovedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "executor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedModeSource",
+ "default": "manual"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "description": "The authored change-request planner backend. The wasm backend is\nexpressible so a declared WASM planner is refused by the compiler with a\npinned diagnostic; WASM planners stay unsupported. Retained Rust name for\nthe reviewed change-request authoring contract.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "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"
+ },
+ "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"
+ },
+ "ChangeRequestReviewRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authority": {
+ "type": "string"
+ },
+ "policyId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "authority",
+ "policyId"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestReviewSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewRequirementSource"
+ },
+ {
+ "$ref": "#/$defs/ChangeRequestNoReviewSource"
+ }
+ ]
+ },
+ "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": {}
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "onApproved": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
+ "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"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
+ "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"
+ },
+ "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."
+ },
+ "EventTrigger": {
+ "enum": [
+ "created",
+ "patched",
+ "tombstoned",
+ "request_lifecycle"
+ ],
+ "type": "string"
+ },
+ "EvidenceSubjectSource": {
+ "additionalProperties": false,
+ "properties": {
+ "profile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile"
+ ],
+ "type": "object"
+ },
+ "FieldLookupSource": {
+ "additionalProperties": false,
+ "description": "The authored blind-index declaration for an encrypted field. Normalization\ncomposes in declared order over the canonical string form of the value;\n`unique` requests a unique index over the derived blind-index column.",
+ "properties": {
+ "normalization": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/NormalizationStep"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "unique": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "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"
+ },
+ "HookHandlerSource": {
+ "description": "Where a hook's handler runs.\n\nThe pairing rule: `rhai` requires `script`, `wasm` requires `module`,\n`url` requires `destinationId`, and each\nkind requires exactly its own fields and nothing else. `abi` is required on\n`rhai` and `wasm` and forbidden on `url`; its value is closed and checked at\ncompile time in [`crate::validate_hooks`].",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "description": "A reviewed Rhai script in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the script speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "rhai",
+ "type": "string"
+ },
+ "script": {
+ "description": "Script path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "script"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A reviewed WASM module in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the module speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "wasm",
+ "type": "string"
+ },
+ "module": {
+ "description": "Module path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "module"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A logical destination bound to a URL and a secret at runtime. The\nruntime names the binding it looks the key up in; the project carries\nno URL or secret.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in the runtime destination binding.",
+ "type": "string"
+ },
+ "kind": {
+ "const": "url",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "HookPhase": {
+ "description": "When the hook runs relative to the triggering transaction.",
+ "oneOf": [
+ {
+ "const": "before",
+ "description": "Runs inside the triggering transaction and may refuse or shape the\nchange. Local handler kinds only.",
+ "type": "string"
+ },
+ {
+ "const": "after",
+ "description": "Runs after commit in the post-commit worker and cannot affect the\ntriggering transaction.",
+ "type": "string"
+ }
+ ]
+ },
+ "HookSource": {
+ "additionalProperties": false,
+ "description": "One declared hook on an entity.\n\nThe shape is [`registry_platform_hooks::HookDeclaration`] with `trigger`\nand `when` closed to the vocabulary this compiler validates, and with\n`handler` optional. A hook that declares no handler is still recorded in\nthe outbox and delivered nowhere; production compilation refuses that.\n\nEntity hooks run after the triggering transaction commits, so `phase` is\nwritten and the compiler refuses any value it cannot run.",
+ "properties": {
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/HookHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Governed, destination-neutral delivery. `destinationId` is a key in\nruntime `eventDestinations`; the project carries no URL or secret, and\ndeployment configuration may tighten the bounds it binds but cannot\nsupply or widen this authority. Production compilation requires it."
+ },
+ "id": {
+ "description": "Stable hook contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "phase": {
+ "$ref": "#/$defs/HookPhase",
+ "description": "When the hook runs relative to the triggering transaction."
+ },
+ "principal": {
+ "description": "The access profile a proposal from this hook is applied under.\nOptional: a hook that declares none is a non-proposing hook, and a\nproposal from one is refused and dead-lettered at delivery time.\nDeclaring none is not an authoring error.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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 hook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to run on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "phase",
+ "trigger",
+ "projection"
+ ],
+ "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"
+ },
+ "NormalizationStep": {
+ "description": "A normalization step applied to the canonical string form of an encrypted\nvalue before its blind index is derived. The vocabulary is closed.",
+ "oneOf": [
+ {
+ "enum": [
+ "trim",
+ "uppercase",
+ "lowercase",
+ "collapse-whitespace"
+ ],
+ "type": "string"
+ },
+ {
+ "const": "remove-separators",
+ "description": "Strips spaces, hyphens, slashes, and dots from the canonical form.",
+ "type": "string"
+ }
+ ]
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ }
+ },
+ "$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/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json b/src/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json
new file mode 100644
index 00000000..c34daa94
--- /dev/null
+++ b/src/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json
@@ -0,0 +1,612 @@
+{
+ "$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"
+ }
+ ]
+ },
+ "ReviewCompletionRuntimeConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "bearerTokenRef": {
+ "type": "string"
+ },
+ "maximumAttempts": {
+ "default": 12,
+ "format": "uint32",
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "retrySeconds": {
+ "default": 30,
+ "format": "uint64",
+ "maximum": 86400,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "timeoutMilliseconds": {
+ "default": 5000,
+ "format": "uint64",
+ "maximum": 30000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "bearerTokenRef"
+ ],
+ "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"
+ },
+ "reviewCompletionDestinations": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ReviewCompletionRuntimeConfig"
+ },
+ "type": "object"
+ },
+ "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/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json b/src/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json
new file mode 100644
index 00000000..03c931b3
--- /dev/null
+++ b/src/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json
@@ -0,0 +1,4486 @@
+{
+ "$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"
+ },
+ "ActionHandlerKindSource": {
+ "description": "The authored action-handler backend. The wasm backend is admitted when\nthis build of the compiler carries the `wasm` cargo feature, which\nvalidates a declared WASM handler module against the platform guest\nABI at compile time; without that feature a declared WASM handler is\nrefused with the pinned `action.handler.wasm_build_unsupported`\ndiagnostic.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "type": "string"
+ },
+ "ActionHandlerRefusalSource": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "label"
+ ],
+ "type": "object"
+ },
+ "ActionHandlerSource": {
+ "additionalProperties": false,
+ "description": "The authored action handler: the shared hook handler declaration, with the\nauthorization members a governed action adds.\n\n`handler` is [`HookHandlerSource`], the same declaration an entity hook\ncarries, so this product spells a handler one way. It is flattened, so the\nauthored member set stays `kind`, the source reference the kind names,\n`abi`, `writes`, and `refusals`. `writes` and `refusals` are this\nproduct's own: they bound what the handler may write and the refusals it\nmay return, and no hook declares them.\n\nTwo rules narrow the shared declaration to what this path runs. `abi` is\noptional there and required here, refused at deserialization, because\nevery backend an action may declare speaks one. The `url` kind is refused\nby the compiler at `actions[].handler.kind`, because an action handler\nruns inside the triggering transaction and cannot be remote.",
+ "properties": {
+ "abi": {
+ "enum": [
+ "registry.action-handler/v1",
+ "registry.action-handler/v2"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "$ref": "#/$defs/ActionHandlerKindSource"
+ },
+ "module": {
+ "description": "The WASM handler module path, project-local. Declared for wasm\nhandlers only; the compiler enforces the pairing with the declared\nbackend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "refusals": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ActionHandlerRefusalSource"
+ },
+ "type": "array"
+ },
+ "script": {
+ "description": "The Rhai handler script path. Declared for rhai handlers only; the\ncompiler enforces the pairing with the declared backend.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "writes": {
+ "items": {
+ "$ref": "#/$defs/ActionHandlerWriteSource"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "kind",
+ "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"
+ },
+ "ChangeRequestApplicationSource": {
+ "additionalProperties": false,
+ "properties": {
+ "preconditions": {
+ "$ref": "#/$defs/ChangeRequestPreconditionsSource"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestCurrentDatePredicateSource": {
+ "enum": [
+ "on_or_after",
+ "on_or_before"
+ ],
+ "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"
+ },
+ "ChangeRequestNoReviewModeSource": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestNoReviewSource": {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestNoReviewModeSource"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestOnApprovedModeSource": {
+ "enum": [
+ "manual",
+ "automatic"
+ ],
+ "type": "string"
+ },
+ "ChangeRequestOnApprovedSource": {
+ "additionalProperties": false,
+ "properties": {
+ "executor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "mode": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedModeSource",
+ "default": "manual"
+ }
+ },
+ "type": "object"
+ },
+ "ChangeRequestPlannerKindSource": {
+ "description": "The authored change-request planner backend. The wasm backend is\nexpressible so a declared WASM planner is refused by the compiler with a\npinned diagnostic; WASM planners stay unsupported. Retained Rust name for\nthe reviewed change-request authoring contract.",
+ "enum": [
+ "rhai",
+ "wasm"
+ ],
+ "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"
+ },
+ "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"
+ },
+ "ChangeRequestReviewRequirementSource": {
+ "additionalProperties": false,
+ "properties": {
+ "authority": {
+ "type": "string"
+ },
+ "policyId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "authority",
+ "policyId"
+ ],
+ "type": "object"
+ },
+ "ChangeRequestReviewSource": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ChangeRequestReviewRequirementSource"
+ },
+ {
+ "$ref": "#/$defs/ChangeRequestNoReviewSource"
+ }
+ ]
+ },
+ "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": {}
+ },
+ "effects": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/ChangeRequestEffectSource"
+ },
+ "type": "array"
+ },
+ "onApproved": {
+ "$ref": "#/$defs/ChangeRequestOnApprovedSource",
+ "default": {
+ "mode": "manual"
+ }
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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
+ },
+ "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"
+ },
+ "fields": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/FieldSource"
+ },
+ "type": "array"
+ },
+ "geojson": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/GeoJsonSource"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hooks": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/HookSource"
+ },
+ "type": "array"
+ },
+ "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"
+ },
+ "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."
+ },
+ "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"
+ },
+ "FieldLookupSource": {
+ "additionalProperties": false,
+ "description": "The authored blind-index declaration for an encrypted field. Normalization\ncomposes in declared order over the canonical string form of the value;\n`unique` requests a unique index over the derived blind-index column.",
+ "properties": {
+ "normalization": {
+ "default": [],
+ "items": {
+ "$ref": "#/$defs/NormalizationStep"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "unique": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "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"
+ },
+ "HookHandlerSource": {
+ "description": "Where a hook's handler runs.\n\nThe pairing rule: `rhai` requires `script`, `wasm` requires `module`,\n`url` requires `destinationId`, and each\nkind requires exactly its own fields and nothing else. `abi` is required on\n`rhai` and `wasm` and forbidden on `url`; its value is closed and checked at\ncompile time in [`crate::validate_hooks`].",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "description": "A reviewed Rhai script in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the script speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "rhai",
+ "type": "string"
+ },
+ "script": {
+ "description": "Script path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "script"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A reviewed WASM module in the project.",
+ "properties": {
+ "abi": {
+ "description": "The handler ABI the module speaks.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "const": "wasm",
+ "type": "string"
+ },
+ "module": {
+ "description": "Module path in the project.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "module"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A logical destination bound to a URL and a secret at runtime. The\nruntime names the binding it looks the key up in; the project carries\nno URL or secret.",
+ "properties": {
+ "destinationId": {
+ "description": "Key in the runtime destination binding.",
+ "type": "string"
+ },
+ "kind": {
+ "const": "url",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "destinationId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "HookPhase": {
+ "description": "When the hook runs relative to the triggering transaction.",
+ "oneOf": [
+ {
+ "const": "before",
+ "description": "Runs inside the triggering transaction and may refuse or shape the\nchange. Local handler kinds only.",
+ "type": "string"
+ },
+ {
+ "const": "after",
+ "description": "Runs after commit in the post-commit worker and cannot affect the\ntriggering transaction.",
+ "type": "string"
+ }
+ ]
+ },
+ "HookSource": {
+ "additionalProperties": false,
+ "description": "One declared hook on an entity.\n\nThe shape is [`registry_platform_hooks::HookDeclaration`] with `trigger`\nand `when` closed to the vocabulary this compiler validates, and with\n`handler` optional. A hook that declares no handler is still recorded in\nthe outbox and delivered nowhere; production compilation refuses that.\n\nEntity hooks run after the triggering transaction commits, so `phase` is\nwritten and the compiler refuses any value it cannot run.",
+ "properties": {
+ "handler": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/HookHandlerSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Governed, destination-neutral delivery. `destinationId` is a key in\nruntime `eventDestinations`; the project carries no URL or secret, and\ndeployment configuration may tighten the bounds it binds but cannot\nsupply or widen this authority. Production compilation requires it."
+ },
+ "id": {
+ "description": "Stable hook contract identifier, sent as `ce-type`. Use a new identifier for a breaking payload change.",
+ "type": "string"
+ },
+ "phase": {
+ "$ref": "#/$defs/HookPhase",
+ "description": "When the hook runs relative to the triggering transaction."
+ },
+ "principal": {
+ "description": "The access profile a proposal from this hook is applied under.\nOptional: a hook that declares none is a non-proposing hook, and a\nproposal from one is refused and dead-lettered at delivery time.\nDeclaring none is not an authoring error.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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 hook."
+ },
+ "when": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/EventConditionSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional field tests, combined with AND. Omit to run on every matching trigger."
+ }
+ },
+ "required": [
+ "id",
+ "phase",
+ "trigger",
+ "projection"
+ ],
+ "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"
+ },
+ "NormalizationStep": {
+ "description": "A normalization step applied to the canonical string form of an encrypted\nvalue before its blind index is derived. The vocabulary is closed.",
+ "oneOf": [
+ {
+ "enum": [
+ "trim",
+ "uppercase",
+ "lowercase",
+ "collapse-whitespace"
+ ],
+ "type": "string"
+ },
+ {
+ "const": "remove-separators",
+ "description": "Strips spaces, hyphens, slashes, and dots from the canonical form.",
+ "type": "string"
+ }
+ ]
+ },
+ "Operation": {
+ "enum": [
+ "create",
+ "get",
+ "lookup",
+ "list",
+ "patch",
+ "tombstone",
+ "batch",
+ "revisions",
+ "snapshot",
+ "submit_request",
+ "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"
+ }
+ ]
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ },
+ "encrypted": {
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "lookup": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/FieldLookupSource"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "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"
+ }
+ },
+ "$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/catalogs/contexts.json b/src/catalogs/contexts.json
index 34983bc3..d5ff4519 100644
--- a/src/catalogs/contexts.json
+++ b/src/catalogs/contexts.json
@@ -11,7 +11,7 @@
"source": "src/artifacts/sha256/9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71.jsonld",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/registry-record/profile/registry-record-v1.md",
"sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
},
diff --git a/src/catalogs/namespaces.json b/src/catalogs/namespaces.json
index 51600e06..a07f5aba 100644
--- a/src/catalogs/namespaces.json
+++ b/src/catalogs/namespaces.json
@@ -10,7 +10,7 @@
"owner": "registry-manifest",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-manifest-core/src/lib.rs",
"sha256": "a8d8c58eb9f2eb10db68b26c9e285a11fa3f531d98bab19ecab52e2a37e4b17f"
}
diff --git a/src/catalogs/problems.json b/src/catalogs/problems.json
index 8be81c6e..0b98e074 100644
--- a/src/catalogs/problems.json
+++ b/src/catalogs/problems.json
@@ -1,5 +1,5 @@
{
- "generated_from": "https://github.com/registrystack/registry-stack/blob/22ea92286036f28a59cfbe5d7c835f4738d62074/products/identifiers/generated/catalog.v1.json",
+ "generated_from": "https://github.com/registrystack/registry-stack/blob/60b0c2b02dced96544e18efcad7d8d1c489b949c/products/identifiers/generated/catalog.v1.json",
"generated_at": "1970-01-01T00:00:00.000Z",
"entries": [
{
@@ -18,9 +18,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -39,9 +39,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -60,9 +60,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -81,9 +81,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -102,9 +102,114 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "product": "registry-breg",
+ "code": "ingestion.chunk_mismatch",
+ "path": "ingestion/chunk_mismatch",
+ "title": "Conflict",
+ "description": "The chunk does not match the expected next chunk.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "breg",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-breg/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "product": "registry-breg",
+ "code": "ingestion.profile_mismatch",
+ "path": "ingestion/profile_mismatch",
+ "title": "Forbidden",
+ "description": "The selected access profile does not match the run's bound profile.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "breg",
+ "http_statuses": [
+ 403
+ ],
+ "source": "registry-stack/crates/registry-breg/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "product": "registry-breg",
+ "code": "ingestion.receipt_erased",
+ "path": "ingestion/receipt_erased",
+ "title": "Gone",
+ "description": "The stored receipt of the chunk was erased.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "breg",
+ "http_statuses": [
+ 410
+ ],
+ "source": "registry-stack/crates/registry-breg/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "product": "registry-breg",
+ "code": "ingestion.run_blocked",
+ "path": "ingestion/run_blocked",
+ "title": "Conflict",
+ "description": "The active package no longer matches the run binding.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "breg",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-breg/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "product": "registry-breg",
+ "code": "ingestion.run_not_open",
+ "path": "ingestion/run_not_open",
+ "title": "Conflict",
+ "description": "The ingestion run is not open for this transition.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "breg",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-breg/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -123,9 +228,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -144,9 +249,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -165,9 +270,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -186,9 +291,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -207,9 +312,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -228,9 +333,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -249,9 +354,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -270,9 +375,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -291,9 +396,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -312,9 +417,30 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ }
+ },
+ {
+ "product": "registry-breg",
+ "code": "runtime.field_encryption.unavailable",
+ "path": "runtime/field_encryption/unavailable",
+ "title": "Service Unavailable",
+ "description": "The Registry field-encryption service is unavailable.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "breg",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-breg/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -333,9 +459,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -354,9 +480,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -375,9 +501,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -396,9 +522,9 @@
"source": "registry-stack/crates/registry-breg/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
}
},
{
@@ -417,9 +543,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -438,9 +564,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -459,9 +585,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -480,9 +606,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -501,9 +627,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -522,9 +648,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -543,9 +669,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -564,9 +690,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -585,9 +711,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -606,9 +732,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -627,9 +753,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -648,9 +774,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -669,9 +795,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -690,9 +816,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -711,9 +837,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -732,9 +858,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -753,9 +879,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -774,9 +900,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -795,9 +921,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -816,9 +942,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -837,9 +963,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -858,9 +984,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -879,9 +1005,72 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "review.result-expired",
+ "path": "review/result-expired",
+ "title": "Review result expired",
+ "description": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "casework",
+ "http_statuses": [
+ 410
+ ],
+ "source": "registry-stack/crates/registry-casework/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "review.submission-conflict",
+ "path": "review/submission-conflict",
+ "title": "Review submission conflict",
+ "description": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ }
+ },
+ {
+ "product": "registry-casework",
+ "code": "review.task-not-held",
+ "path": "review/task-not-held",
+ "title": "Review task not held",
+ "description": "Claim the review task before deciding it, and decide only while the claim remains current.",
+ "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": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -900,9 +1089,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -921,9 +1110,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -942,9 +1131,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -963,9 +1152,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -984,9 +1173,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1005,9 +1194,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1026,9 +1215,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1047,9 +1236,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1068,9 +1257,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1089,9 +1278,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1110,9 +1299,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1131,9 +1320,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1152,9 +1341,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1173,9 +1362,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1194,9 +1383,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1215,9 +1404,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1236,9 +1425,9 @@
"source": "registry-stack/crates/registry-casework/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
}
},
{
@@ -1257,7 +1446,7 @@
"source": "registry-stack/crates/registry-discovery/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -1278,7 +1467,7 @@
"source": "registry-stack/crates/registry-discovery/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -1299,7 +1488,7 @@
"source": "registry-stack/crates/registry-discovery/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -1320,7 +1509,7 @@
"source": "registry-stack/crates/registry-discovery/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-discovery/src/problem.rs",
"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364"
}
@@ -1341,7 +1530,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1362,7 +1551,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1383,7 +1572,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1404,7 +1593,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1425,7 +1614,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1446,7 +1635,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1467,7 +1656,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1488,7 +1677,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1509,7 +1698,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -1530,7 +1719,7 @@
"source": "registry-stack/crates/registry-evidence/src/problem.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-evidence/src/problem.rs",
"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c"
}
@@ -2957,7 +3146,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -2978,7 +3167,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -2999,7 +3188,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3020,7 +3209,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3136,7 +3325,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3233,7 +3422,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3330,7 +3519,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3541,7 +3730,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3562,7 +3751,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3583,7 +3772,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3604,7 +3793,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3625,7 +3814,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3684,7 +3873,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3781,7 +3970,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3821,7 +4010,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3956,7 +4145,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3977,7 +4166,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -3998,7 +4187,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -4019,7 +4208,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -4743,7 +4932,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -4764,7 +4953,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -4785,7 +4974,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -4806,7 +4995,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -4827,7 +5016,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -5114,7 +5303,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -5135,7 +5324,7 @@
"source": "registry-stack/crates/registry-relay-http-contract/src/lib.rs",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-http-contract/src/lib.rs",
"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4"
}
@@ -5348,6 +5537,678 @@
"path": "src/catalogs/problems.json",
"sha256": "86880457d705bca7bdc2ed2a7110a7995700d25e2507d670c85821a8aa426989"
}
+ },
+ {
+ "product": "registry-scheduling",
+ "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": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 401
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "booking.duplicate-active",
+ "path": "booking/duplicate-active",
+ "title": "Duplicate active booking",
+ "description": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking again.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "cancellation.cutoff-passed",
+ "path": "cancellation/cutoff-passed",
+ "title": "Cancellation cutoff passed",
+ "description": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "capability.unmatched",
+ "path": "capability/unmatched",
+ "title": "Capability unmatched",
+ "description": "The party or backing supply does not carry every capability this offering requires.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "capacity.exhausted",
+ "path": "capacity/exhausted",
+ "title": "Capacity exhausted",
+ "description": "The supply is fully committed for the requested interval. Choose another time.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "cursor.expired",
+ "path": "cursor/expired",
+ "title": "Cursor expired",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 410
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "cursor.invalid",
+ "path": "cursor/invalid",
+ "title": "Cursor invalid",
+ "description": "The cursor is invalid for this request.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "eligibility.unavailable",
+ "path": "eligibility/unavailable",
+ "title": "Eligibility unavailable",
+ "description": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "hold.expired",
+ "path": "hold/expired",
+ "title": "Hold expired",
+ "description": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 410
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "hold.released",
+ "path": "hold/released",
+ "title": "Hold released",
+ "description": "The claim is not an active hold. It may already be confirmed or released.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "hook.unavailable",
+ "path": "hook/unavailable",
+ "title": "Hook unavailable",
+ "description": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "horizon.outside",
+ "path": "horizon/outside",
+ "title": "Start outside the booking horizon",
+ "description": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "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": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 410
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "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": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "location.closed",
+ "path": "location/closed",
+ "title": "Location closed",
+ "description": "A closure covers the requested start. Choose a start outside the closure.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "operation.not-authorized",
+ "path": "operation/not-authorized",
+ "title": "Operation not authorized",
+ "description": "Your current Scheduling authority does not allow this operation.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 403
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "party.capacity-inadequate",
+ "path": "party/capacity-inadequate",
+ "title": "Party capacity inadequate",
+ "description": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "policy.changed",
+ "path": "policy/changed",
+ "title": "Policy changed",
+ "description": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 412
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "precondition.failed",
+ "path": "precondition/failed",
+ "title": "Precondition failed",
+ "description": "The appointment changed since you loaded it. Reload and try again.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 412
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "precondition.required",
+ "path": "precondition/required",
+ "title": "Precondition required",
+ "description": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 428
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "prerequisite.missing",
+ "path": "prerequisite/missing",
+ "title": "Prerequisite missing",
+ "description": "The party is missing a prerequisite this offering requires.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "profile.not-authorized",
+ "path": "profile/not-authorized",
+ "title": "Profile not authorized",
+ "description": "The selected Scheduling profile does not authorize this request.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 403
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "request.body-too-large",
+ "path": "request/body-too-large",
+ "title": "Payload too large",
+ "description": "The request body exceeds the accepted size.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 413
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "request.invalid",
+ "path": "request/invalid",
+ "title": "Request invalid",
+ "description": "The request could not be read as a Scheduling request.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 400
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "request.method-not-allowed",
+ "path": "request/method-not-allowed",
+ "title": "Method not allowed",
+ "description": "The route exists but not for this method.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 405
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "request.not-found",
+ "path": "request/not-found",
+ "title": "Route not found",
+ "description": "The requested route does not exist.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 404
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "request.unprocessable",
+ "path": "request/unprocessable",
+ "title": "Request unprocessable",
+ "description": "The request body could not be processed.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "request.unsupported-media-type",
+ "path": "request/unsupported-media-type",
+ "title": "Unsupported media type",
+ "description": "The request body is not JSON.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 415
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "resource.unavailable",
+ "path": "resource/unavailable",
+ "title": "Resource unavailable",
+ "description": "Every capable member is unavailable for this interval.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 409
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "revision.mismatch",
+ "path": "revision/mismatch",
+ "title": "Revision mismatch",
+ "description": "The window revision changed before the request committed. Reload the catalogue and try again.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 412
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "schedule.unpublished",
+ "path": "schedule/unpublished",
+ "title": "Schedule unpublished",
+ "description": "No published schedule serves that start. Choose a start on the published grid.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 422
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
+ },
+ {
+ "product": "registry-scheduling",
+ "code": "service.unavailable",
+ "path": "service/unavailable",
+ "title": "Scheduling service unavailable",
+ "description": "Scheduling storage is unavailable. Try again after the service recovers.",
+ "kind": "problem",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "http_statuses": [
+ 503
+ ],
+ "source": "registry-stack/crates/registry-scheduling-core/src/problem.rs",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ }
}
]
}
diff --git a/src/catalogs/profiles.json b/src/catalogs/profiles.json
index 33a110ee..4841d369 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/registry-record/profile/registry-record-v1.md",
"sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
},
diff --git a/src/catalogs/schemas.json b/src/catalogs/schemas.json
index dd29b06e..aeca5c4b 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/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json",
+ "source": "src/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
},
- "artifact_sha256": "42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf.json"
+ "artifact_sha256": "854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6.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/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json",
+ "source": "src/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
},
- "artifact_sha256": "2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa.json"
+ "artifact_sha256": "fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda.json"
},
{
"uri": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
@@ -44,15 +44,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "breg",
- "source": "src/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json",
+ "source": "src/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
},
- "artifact_sha256": "c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c.json"
+ "artifact_sha256": "4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30.json"
},
{
"uri": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
@@ -62,15 +62,15 @@
"status": "active",
"compatibility_line": "v1alpha1",
"owner": "casework",
- "source": "src/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json",
+ "source": "src/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-casework/src/schema.rs",
- "sha256": "e7694b4e5247f8fa7f49f05a65811e740eaa4c960f41d967508bba29e5c437d9"
+ "sha256": "299f015779102505df7270f30de94ac96268f1c0736cdad566ec1e1920b842f9"
},
- "artifact_sha256": "74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197",
- "immutable_uri": "https://id.registrystack.org/artifacts/sha256/74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197.json"
+ "artifact_sha256": "d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02.json"
},
{
"uri": "https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json",
@@ -83,7 +83,7 @@
"source": "src/artifacts/sha256/e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/identifiers/contracts/catalog.v1.schema.json",
"sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d"
},
@@ -101,7 +101,7 @@
"source": "src/artifacts/sha256/31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/registry-record/schema/registry-record-v1.schema.json",
"sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e"
},
@@ -137,7 +137,7 @@
"source": "src/artifacts/sha256/e2b2be3baabb1c5f147a4095eade0d85702d814ec93049b62208fdd7ab1265b8.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/artifacts.rs",
"sha256": "7feb222632ac997903c8809e190fa0c008bf17790e39fa075fc10c3fd3e0bec1"
},
@@ -155,7 +155,7 @@
"source": "src/artifacts/sha256/c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relayctl/schemas/authoring/registry.schema.json",
"sha256": "c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5"
},
@@ -173,7 +173,7 @@
"source": "src/artifacts/sha256/9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b.json",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relayctl/schemas/authoring/runtime.schema.json",
"sha256": "9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b"
},
@@ -197,6 +197,24 @@
"source": "src/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json",
"artifact_sha256": "42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e",
"immutable_uri": "https://id.registrystack.org/artifacts/sha256/42f6e06f2340ff8e61f68516c1c038bfafff3de700c85c014a5890cac18bdb5e.json"
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/scheduling/runtime/runtime.v1alpha1.schema.json",
+ "title": "Registry Scheduling runtime configuration",
+ "description": "Registry Scheduling runtime configuration JSON Schema.",
+ "kind": "schema",
+ "status": "active",
+ "compatibility_line": "v1alpha1",
+ "owner": "scheduling",
+ "source": "src/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json",
+ "source_reference": {
+ "repository": "registry-stack",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
+ "path": "crates/registry-scheduling/src/schema.rs",
+ "sha256": "99d43221904847661cf4331d1d5b4fd7c936bbb60ead987509bcb6c3f83b61c5"
+ },
+ "artifact_sha256": "2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938",
+ "immutable_uri": "https://id.registrystack.org/artifacts/sha256/2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938.json"
}
]
}
diff --git a/src/catalogs/vocabularies.json b/src/catalogs/vocabularies.json
index fd1a2113..cc6394be 100644
--- a/src/catalogs/vocabularies.json
+++ b/src/catalogs/vocabularies.json
@@ -10,7 +10,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -25,7 +25,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "products/relay-v2/CONCEPT.md",
"sha256": "96445c1c324519d02890b5c24a46d5b66dfa2e17fcc23b33e0978bf8f5ab3a4e"
}
@@ -40,7 +40,7 @@
"owner": "registry-record",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 32a2d822..c292bee3 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -25,7 +25,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -40,7 +40,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"path": "crates/registry-relay-v2/src/semantics.rs",
"sha256": "563740f4b7d7582a8c1f80756d52137915b85cd349e19ce5ab272d1d791234ca"
}
@@ -55,7 +55,7 @@
"owner": "relay-v2",
"source_reference": {
"repository": "registry-stack",
- "commit": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"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 d6c40604..409589f2 100644
--- a/src/upstream/catalog.v1.json
+++ b/src/upstream/catalog.v1.json
@@ -43,7 +43,7 @@
"description": "The declared Evidence dependency could not be accepted.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "action.evidence_failed",
@@ -62,7 +62,7 @@
"description": "The action handler could not produce an accepted result.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "action.handler_failed",
@@ -81,7 +81,7 @@
"description": "The action was refused by a declared business rule.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "action.refused",
@@ -100,7 +100,7 @@
"description": "The bearer credential is missing or refused.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "authentication.refused",
@@ -119,7 +119,7 @@
"description": "The idempotency key is bound to another request.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "idempotency.conflict",
@@ -128,6 +128,101 @@
]
}
},
+ {
+ "uri": "https://id.registrystack.org/problems/registry-breg/ingestion/chunk_mismatch",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Conflict",
+ "description": "The chunk does not match the expected next chunk.",
+ "source": {
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ },
+ "problem": {
+ "code": "ingestion.chunk_mismatch",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-breg/ingestion/profile_mismatch",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Forbidden",
+ "description": "The selected access profile does not match the run's bound profile.",
+ "source": {
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ },
+ "problem": {
+ "code": "ingestion.profile_mismatch",
+ "httpStatuses": [
+ 403
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-breg/ingestion/receipt_erased",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Gone",
+ "description": "The stored receipt of the chunk was erased.",
+ "source": {
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ },
+ "problem": {
+ "code": "ingestion.receipt_erased",
+ "httpStatuses": [
+ 410
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-breg/ingestion/run_blocked",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Conflict",
+ "description": "The active package no longer matches the run binding.",
+ "source": {
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ },
+ "problem": {
+ "code": "ingestion.run_blocked",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-breg/ingestion/run_not_open",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Conflict",
+ "description": "The ingestion run is not open for this transition.",
+ "source": {
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ },
+ "problem": {
+ "code": "ingestion.run_not_open",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
{
"uri": "https://id.registrystack.org/problems/registry-breg/lookup/unresolved",
"kind": "problem",
@@ -138,7 +233,7 @@
"description": "The lookup did not resolve exactly one record.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "lookup.unresolved",
@@ -157,7 +252,7 @@
"description": "The mutation conflicts with current state.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "mutation.conflict",
@@ -176,7 +271,7 @@
"description": "The mutation precondition failed.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "precondition.failed",
@@ -195,7 +290,7 @@
"description": "The mutation precondition is required.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "precondition.required",
@@ -214,7 +309,7 @@
"description": "The query cursor is invalid.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "query.cursor_invalid",
@@ -233,7 +328,7 @@
"description": "The query request is invalid.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "query.invalid",
@@ -252,7 +347,7 @@
"description": "The request is invalid.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "request.invalid",
@@ -271,7 +366,7 @@
"description": "The change-request planner refused the submission, naming the failure kind.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "request.plan_refused",
@@ -290,7 +385,7 @@
"description": "The request timed out.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "request.timeout",
@@ -309,7 +404,7 @@
"description": "The requested resource was not found.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "resource.not_found",
@@ -318,6 +413,25 @@
]
}
},
+ {
+ "uri": "https://id.registrystack.org/problems/registry-breg/runtime/field_encryption/unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Service Unavailable",
+ "description": "The Registry field-encryption service is unavailable.",
+ "source": {
+ "path": "crates/registry-breg/src/problem.rs",
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
+ },
+ "problem": {
+ "code": "runtime.field_encryption.unavailable",
+ "httpStatuses": [
+ 503
+ ]
+ }
+ },
{
"uri": "https://id.registrystack.org/problems/registry-breg/runtime/not_ready",
"kind": "problem",
@@ -328,7 +442,7 @@
"description": "Registry runtime is not ready.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "runtime.not_ready",
@@ -347,7 +461,7 @@
"description": "The Registry mutation service is unavailable.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "service.unavailable",
@@ -366,7 +480,7 @@
"description": "The Registry data service is unavailable.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "source.unavailable",
@@ -385,7 +499,7 @@
"description": "The request media type is not supported.",
"source": {
"path": "crates/registry-breg/src/problem.rs",
- "sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2"
+ "sha256": "1103252370b62dfc248689f7baf08f0479e4d7dd762a491ceafbd8341816b540"
},
"problem": {
"code": "unsupported.media_type",
@@ -404,7 +518,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "absence.cover-cycle",
@@ -423,7 +537,7 @@
"description": "Set until later than from.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "absence.invalid-period",
@@ -442,7 +556,7 @@
"description": "Adjust the period so this person has no overlapping absence.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "absence.overlap",
@@ -461,7 +575,7 @@
"description": "Choose a different staff member as cover.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "absence.self-cover",
@@ -480,7 +594,7 @@
"description": "The bearer credential is missing, invalid, or expired. Sign in again.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "authentication.refused",
@@ -499,7 +613,7 @@
"description": "Create a new recompute preview and review it before applying.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "clock.recompute-preview-expired",
@@ -518,7 +632,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "cursor.expired",
@@ -537,7 +651,7 @@
"description": "The cursor is invalid for this request.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "cursor.invalid",
@@ -556,7 +670,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "idempotency.expired",
@@ -575,7 +689,7 @@
"description": "This idempotency key was used for a different request.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "idempotency.key-reused",
@@ -594,7 +708,7 @@
"description": "Your current Casework authority does not allow this operation.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "operation.not-authorized",
@@ -613,7 +727,7 @@
"description": "The item or directory changed since you loaded it. Reload and try again.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "precondition.failed",
@@ -632,7 +746,7 @@
"description": "This mutation requires the revision that you loaded.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "precondition.required",
@@ -651,7 +765,7 @@
"description": "The selected Casework profile does not authorize this request.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "profile.not-authorized",
@@ -670,7 +784,7 @@
"description": "This action is reserved for a human session.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "profile.not-human",
@@ -689,7 +803,7 @@
"description": "The request body exceeds the one MiB limit.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.body-too-large",
@@ -708,7 +822,7 @@
"description": "The Casework request is invalid.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.invalid",
@@ -727,7 +841,7 @@
"description": "This route does not accept that HTTP method.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.method-not-allowed",
@@ -746,7 +860,7 @@
"description": "The requested Casework route does not exist.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.not-found",
@@ -765,7 +879,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.reason-unsupported",
@@ -784,7 +898,7 @@
"description": "The source refused the request body. Fix the request before trying again.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.source-rejected",
@@ -803,7 +917,7 @@
"description": "The request body does not match the Casework contract.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.unprocessable",
@@ -822,7 +936,7 @@
"description": "Send a JSON request body with Content-Type application/json.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "request.unsupported-media-type",
@@ -831,6 +945,63 @@
]
}
},
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/review/result-expired",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Review result expired",
+ "description": "The retained review result is no longer available. Reconcile through the producer's retained source correlation.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ },
+ "problem": {
+ "code": "review.result-expired",
+ "httpStatuses": [
+ 410
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/review/submission-conflict",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Review submission conflict",
+ "description": "The same producer, source subject, version, and policy were already submitted with different canonical content.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ },
+ "problem": {
+ "code": "review.submission-conflict",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-casework/review/task-not-held",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "casework",
+ "title": "Review task not held",
+ "description": "Claim the review task before deciding it, and decide only while the claim remains current.",
+ "source": {
+ "path": "crates/registry-casework/src/problem.rs",
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
+ },
+ "problem": {
+ "code": "review.task-not-held",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
{
"uri": "https://id.registrystack.org/problems/registry-casework/runtime/failure",
"kind": "problem",
@@ -841,7 +1012,7 @@
"description": "Casework could not complete the request.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "runtime.failure",
@@ -860,7 +1031,7 @@
"description": "Casework storage is unavailable. Try again after the service recovers.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "service.unavailable",
@@ -879,7 +1050,7 @@
"description": "Omit the Registry-Source-Profile header for this request.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "source-profile.not-applicable",
@@ -898,7 +1069,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "source-profile.required",
@@ -917,7 +1088,7 @@
"description": "The source returned a response that does not match its registered contract.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "source.bad-gateway",
@@ -936,7 +1107,7 @@
"description": "The requested source is not registered.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "source.not-found",
@@ -955,7 +1126,7 @@
"description": "The bound source record is no longer at the registered location.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "source.record-missing",
@@ -974,7 +1145,7 @@
"description": "The source refused the reviewer binding. Check the selected source profile and credential.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "source.reviewer-not-authorized",
@@ -993,7 +1164,7 @@
"description": "The event's signature did not verify.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "source.signature-invalid",
@@ -1012,7 +1183,7 @@
"description": "Someone else claimed this item a moment ago.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.already-claimed",
@@ -1031,7 +1202,7 @@
"description": "You do not hold this item. Claim it first, or ask a supervisor.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.not-holder",
@@ -1050,7 +1221,7 @@
"description": "The registry did not offer this action to you. Refresh to check again.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.not-offered",
@@ -1069,7 +1240,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.not-visible",
@@ -1088,7 +1259,7 @@
"description": "The proposal changed since you read it. Your private draft is retained.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.proposal-changed",
@@ -1107,7 +1278,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.recovery-pending",
@@ -1126,7 +1297,7 @@
"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"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.source-unavailable",
@@ -1145,7 +1316,7 @@
"description": "A revised proposal replaced this item. Open the current one.",
"source": {
"path": "crates/registry-casework/src/problem.rs",
- "sha256": "5a878f27b795429a31eabc4d2d9552f5a9c26096c253891afa4ff9ff77facf9b"
+ "sha256": "3c2f35f05719141e82364e23482933c0fb0493eeccd70ed5765fc4077927db67"
},
"problem": {
"code": "work-item.superseded",
@@ -1915,139 +2086,747 @@
}
},
{
- "uri": "https://id.registrystack.org/profiles/registry-record/v1",
- "kind": "profile",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/authentication/refused",
+ "kind": "problem",
"status": "active",
- "compatibilityLine": "v1",
- "owner": "registry-record",
- "title": "Registry Record v1 profile",
- "description": "Open base response profile for one Registry record or a homogeneous Registry record collection.",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Authentication refused",
+ "description": "The bearer credential is missing, invalid, or expired. Sign in again.",
"source": {
- "path": "products/registry-record/profile/registry-record-v1.md",
- "sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
},
- "artifact": {
- "path": "products/registry-record/profile/registry-record-v1.md",
- "sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe",
- "mediaType": "text/markdown"
+ "problem": {
+ "code": "authentication.refused",
+ "httpStatuses": [
+ 401
+ ]
}
},
{
- "uri": "https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json",
- "kind": "schema",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/booking/duplicate-active",
+ "kind": "problem",
"status": "active",
"compatibilityLine": "v1alpha1",
- "owner": "breg",
- "title": "Base Registry Engine authored module",
- "description": "Base Registry Engine project authoring JSON Schema.",
+ "owner": "scheduling",
+ "title": "Duplicate active booking",
+ "description": "An active booking already holds this party's duplicate key. Cancel it, or wait until it has passed, before booking again.",
"source": {
- "path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
},
- "artifact": {
- "path": "products/breg/generated/authoring/registry-module.schema.json",
- "sha256": "42c60f19644ce2ac01a8daf33c38f575926fe7104d45c6cee07fb85d98a436cf",
- "mediaType": "application/schema+json"
+ "problem": {
+ "code": "booking.duplicate-active",
+ "httpStatuses": [
+ 409
+ ]
}
},
{
- "uri": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
- "kind": "schema",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/cancellation/cutoff-passed",
+ "kind": "problem",
"status": "active",
"compatibilityLine": "v1alpha1",
- "owner": "breg",
- "title": "Base Registry Engine authored project",
- "description": "Base Registry Engine project authoring JSON Schema.",
+ "owner": "scheduling",
+ "title": "Cancellation cutoff passed",
+ "description": "The cancellation cutoff for this appointment has passed, so it can no longer be cancelled.",
"source": {
- "path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
},
- "artifact": {
- "path": "products/breg/generated/authoring/registry-project.schema.json",
- "sha256": "2cea7342c7a18c0991db2241acb7ecd61a2bc99da4828ab93002317bf4ed17fa",
- "mediaType": "application/schema+json"
+ "problem": {
+ "code": "cancellation.cutoff-passed",
+ "httpStatuses": [
+ 409
+ ]
}
},
{
- "uri": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
- "kind": "schema",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/capability/unmatched",
+ "kind": "problem",
"status": "active",
"compatibilityLine": "v1alpha1",
- "owner": "breg",
- "title": "Base Registry Engine runtime configuration",
- "description": "Base Registry Engine runtime configuration JSON Schema.",
+ "owner": "scheduling",
+ "title": "Capability unmatched",
+ "description": "The party or backing supply does not carry every capability this offering requires.",
"source": {
- "path": "crates/registry-breg/src/schema.rs",
- "sha256": "939e9481234fd0a6c5aff9d4194319ab15d102d008574b01079cddc374ca78f9"
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
},
- "artifact": {
- "path": "products/breg/generated/runtime/runtime.schema.json",
- "sha256": "c8dea520a3fba1ff24ce82e08f94d525e43ffb87f7e8bfd8494cc2fbac03ba2c",
- "mediaType": "application/schema+json"
+ "problem": {
+ "code": "capability.unmatched",
+ "httpStatuses": [
+ 422
+ ]
}
},
{
- "uri": "https://id.registrystack.org/schemas/casework/runtime/runtime.v1alpha1.schema.json",
- "kind": "schema",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/capacity/exhausted",
+ "kind": "problem",
"status": "active",
"compatibilityLine": "v1alpha1",
- "owner": "casework",
- "title": "Registry Casework runtime configuration",
- "description": "Registry Casework runtime configuration JSON Schema.",
+ "owner": "scheduling",
+ "title": "Capacity exhausted",
+ "description": "The supply is fully committed for the requested interval. Choose another time.",
"source": {
- "path": "crates/registry-casework/src/schema.rs",
- "sha256": "e7694b4e5247f8fa7f49f05a65811e740eaa4c960f41d967508bba29e5c437d9"
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
},
- "artifact": {
- "path": "products/casework/generated/runtime/runtime.schema.json",
- "sha256": "74e4d14089f07c1422424fe26515b3391092e17f1baf394ce3a4e4e8606ae197",
- "mediaType": "application/schema+json"
+ "problem": {
+ "code": "capacity.exhausted",
+ "httpStatuses": [
+ 409
+ ]
}
},
{
- "uri": "https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json",
- "kind": "schema",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/cursor/expired",
+ "kind": "problem",
"status": "active",
- "compatibilityLine": "v1",
- "owner": "identifiers",
- "title": "Registry Stack identifier catalog v1",
- "description": "JSON Schema for the Registry Stack identifier catalog.",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Cursor expired",
+ "description": "This cursor has expired. Start again without a cursor and deduplicate entries by id.",
"source": {
- "path": "products/identifiers/contracts/catalog.v1.schema.json",
- "sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d"
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
},
- "artifact": {
- "path": "products/identifiers/contracts/catalog.v1.schema.json",
- "sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d",
- "mediaType": "application/schema+json"
+ "problem": {
+ "code": "cursor.expired",
+ "httpStatuses": [
+ 410
+ ]
}
},
{
- "uri": "https://id.registrystack.org/schemas/registry-record/v1",
- "kind": "schema",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/cursor/invalid",
+ "kind": "problem",
"status": "active",
- "compatibilityLine": "v1",
- "owner": "registry-record",
- "title": "Registry Record v1 base response",
- "description": "Registry Record base response profile JSON Schema.",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Cursor invalid",
+ "description": "The cursor is invalid for this request.",
"source": {
- "path": "products/registry-record/schema/registry-record-v1.schema.json",
- "sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e"
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
},
- "artifact": {
- "path": "products/registry-record/schema/registry-record-v1.schema.json",
- "sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e",
- "mediaType": "application/schema+json"
+ "problem": {
+ "code": "cursor.invalid",
+ "httpStatuses": [
+ 400
+ ]
}
},
{
- "uri": "https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1",
- "kind": "schema",
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/eligibility/unavailable",
+ "kind": "problem",
"status": "active",
- "compatibilityLine": "v2alpha1",
- "owner": "relay-v2",
- "title": "Registry Relay value-free audit event",
- "description": "Relay V2 generated public JSON Schema.",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Eligibility unavailable",
+ "description": "A required eligibility check could not run. Retry; do not treat this as permission.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "eligibility.unavailable",
+ "httpStatuses": [
+ 503
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/hold/expired",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Hold expired",
+ "description": "The hold expired before confirmation. Its capacity is bookable again; start a new request.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "hold.expired",
+ "httpStatuses": [
+ 410
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/hold/released",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Hold released",
+ "description": "The claim is not an active hold. It may already be confirmed or released.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "hold.released",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/hook/unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Hook unavailable",
+ "description": "A required lifecycle hook could not run, so the request was refused rather than half-applied.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "hook.unavailable",
+ "httpStatuses": [
+ 503
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/horizon/outside",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Start outside the booking horizon",
+ "description": "The requested start is earlier than the lead time allows or further ahead than the horizon allows.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "horizon.outside",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/idempotency/expired",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "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-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "idempotency.expired",
+ "httpStatuses": [
+ 410
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/idempotency/key-reused",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Idempotency key reused",
+ "description": "This idempotency key was used for a different request.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "idempotency.key-reused",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/location/closed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Location closed",
+ "description": "A closure covers the requested start. Choose a start outside the closure.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "location.closed",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/operation/not-authorized",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Operation not authorized",
+ "description": "Your current Scheduling authority does not allow this operation.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "operation.not-authorized",
+ "httpStatuses": [
+ 403
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/party/capacity-inadequate",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Party capacity inadequate",
+ "description": "The party is larger than this offering can ever serve, or its size falls outside the published units.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "party.capacity-inadequate",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/policy/changed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Policy changed",
+ "description": "The policy revision changed before the request committed. Reload the catalogue and try again with the current revision.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "policy.changed",
+ "httpStatuses": [
+ 412
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/precondition/failed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Precondition failed",
+ "description": "The appointment changed since you loaded it. Reload and try again.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "precondition.failed",
+ "httpStatuses": [
+ 412
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/precondition/required",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Precondition required",
+ "description": "This mutation requires the revision you loaded, or the duplicate key this offering keys on.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "precondition.required",
+ "httpStatuses": [
+ 428
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/prerequisite/missing",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Prerequisite missing",
+ "description": "The party is missing a prerequisite this offering requires.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "prerequisite.missing",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/profile/not-authorized",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Profile not authorized",
+ "description": "The selected Scheduling profile does not authorize this request.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "profile.not-authorized",
+ "httpStatuses": [
+ 403
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/request/body-too-large",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Payload too large",
+ "description": "The request body exceeds the accepted size.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "request.body-too-large",
+ "httpStatuses": [
+ 413
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/request/invalid",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Request invalid",
+ "description": "The request could not be read as a Scheduling request.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "request.invalid",
+ "httpStatuses": [
+ 400
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/request/method-not-allowed",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Method not allowed",
+ "description": "The route exists but not for this method.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "request.method-not-allowed",
+ "httpStatuses": [
+ 405
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/request/not-found",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Route not found",
+ "description": "The requested route does not exist.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "request.not-found",
+ "httpStatuses": [
+ 404
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/request/unprocessable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Request unprocessable",
+ "description": "The request body could not be processed.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "request.unprocessable",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/request/unsupported-media-type",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Unsupported media type",
+ "description": "The request body is not JSON.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "request.unsupported-media-type",
+ "httpStatuses": [
+ 415
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/resource/unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Resource unavailable",
+ "description": "Every capable member is unavailable for this interval.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "resource.unavailable",
+ "httpStatuses": [
+ 409
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/revision/mismatch",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Revision mismatch",
+ "description": "The window revision changed before the request committed. Reload the catalogue and try again.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "revision.mismatch",
+ "httpStatuses": [
+ 412
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/schedule/unpublished",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Schedule unpublished",
+ "description": "No published schedule serves that start. Choose a start on the published grid.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "schedule.unpublished",
+ "httpStatuses": [
+ 422
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/problems/registry-scheduling/service/unavailable",
+ "kind": "problem",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Scheduling service unavailable",
+ "description": "Scheduling storage is unavailable. Try again after the service recovers.",
+ "source": {
+ "path": "crates/registry-scheduling-core/src/problem.rs",
+ "sha256": "58f980f92c75d7bcc6d0fc41bb9945cb69609fe4af9efc570f936240bdb8244b"
+ },
+ "problem": {
+ "code": "service.unavailable",
+ "httpStatuses": [
+ 503
+ ]
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/profiles/registry-record/v1",
+ "kind": "profile",
+ "status": "active",
+ "compatibilityLine": "v1",
+ "owner": "registry-record",
+ "title": "Registry Record v1 profile",
+ "description": "Open base response profile for one Registry record or a homogeneous Registry record collection.",
+ "source": {
+ "path": "products/registry-record/profile/registry-record-v1.md",
+ "sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe"
+ },
+ "artifact": {
+ "path": "products/registry-record/profile/registry-record-v1.md",
+ "sha256": "f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe",
+ "mediaType": "text/markdown"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Base Registry Engine authored module",
+ "description": "Base Registry Engine project authoring JSON Schema.",
+ "source": {
+ "path": "crates/registry-breg/src/schema.rs",
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
+ },
+ "artifact": {
+ "path": "products/breg/generated/authoring/registry-module.schema.json",
+ "sha256": "854b21e032afa992504c6b1f3d87c368665b4273da4addb5d137517e771289d6",
+ "mediaType": "application/schema+json"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Base Registry Engine authored project",
+ "description": "Base Registry Engine project authoring JSON Schema.",
+ "source": {
+ "path": "crates/registry-breg/src/schema.rs",
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
+ },
+ "artifact": {
+ "path": "products/breg/generated/authoring/registry-project.schema.json",
+ "sha256": "fe1d27a6cfd66a26baca59e7dd3eea9dcb17e8ecff0469479894f6c2d1dc2eda",
+ "mediaType": "application/schema+json"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "breg",
+ "title": "Base Registry Engine runtime configuration",
+ "description": "Base Registry Engine runtime configuration JSON Schema.",
+ "source": {
+ "path": "crates/registry-breg/src/schema.rs",
+ "sha256": "da421a45c81d34a937235fa085261c51554e14302362c9a9ed9dd025329b40f7"
+ },
+ "artifact": {
+ "path": "products/breg/generated/runtime/runtime.schema.json",
+ "sha256": "4e1226cffe6761f035aebde2c1f07f88a35251b537725aab532dbf4500e8ed30",
+ "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": "299f015779102505df7270f30de94ac96268f1c0736cdad566ec1e1920b842f9"
+ },
+ "artifact": {
+ "path": "products/casework/generated/runtime/runtime.schema.json",
+ "sha256": "d22b5b87ad806e397b83ad2197dc9c1bc033ae8d497c6a2383f892cd019b7b02",
+ "mediaType": "application/schema+json"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v1",
+ "owner": "identifiers",
+ "title": "Registry Stack identifier catalog v1",
+ "description": "JSON Schema for the Registry Stack identifier catalog.",
+ "source": {
+ "path": "products/identifiers/contracts/catalog.v1.schema.json",
+ "sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d"
+ },
+ "artifact": {
+ "path": "products/identifiers/contracts/catalog.v1.schema.json",
+ "sha256": "e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d",
+ "mediaType": "application/schema+json"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/registry-record/v1",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v1",
+ "owner": "registry-record",
+ "title": "Registry Record v1 base response",
+ "description": "Registry Record base response profile JSON Schema.",
+ "source": {
+ "path": "products/registry-record/schema/registry-record-v1.schema.json",
+ "sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e"
+ },
+ "artifact": {
+ "path": "products/registry-record/schema/registry-record-v1.schema.json",
+ "sha256": "31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e",
+ "mediaType": "application/schema+json"
+ }
+ },
+ {
+ "uri": "https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v2alpha1",
+ "owner": "relay-v2",
+ "title": "Registry Relay value-free audit event",
+ "description": "Relay V2 generated public JSON Schema.",
"source": {
"path": "crates/registry-relay-v2/src/artifacts.rs",
"sha256": "7feb222632ac997903c8809e190fa0c008bf17790e39fa075fc10c3fd3e0bec1"
@@ -2094,6 +2873,24 @@
"mediaType": "application/schema+json"
}
},
+ {
+ "uri": "https://id.registrystack.org/schemas/scheduling/runtime/runtime.v1alpha1.schema.json",
+ "kind": "schema",
+ "status": "active",
+ "compatibilityLine": "v1alpha1",
+ "owner": "scheduling",
+ "title": "Registry Scheduling runtime configuration",
+ "description": "Registry Scheduling runtime configuration JSON Schema.",
+ "source": {
+ "path": "crates/registry-scheduling/src/schema.rs",
+ "sha256": "99d43221904847661cf4331d1d5b4fd7c936bbb60ead987509bcb6c3f83b61c5"
+ },
+ "artifact": {
+ "path": "products/scheduling/generated/runtime/runtime.schema.json",
+ "sha256": "2158f213b60c1da4498818dc6ac456d937ac965984552a0007ad6bd5dfba4938",
+ "mediaType": "application/schema+json"
+ }
+ },
{
"uri": "https://id.registrystack.org/vocab/codelist",
"kind": "vocabulary-term",
diff --git a/src/upstream/source.json b/src/upstream/source.json
index 6495c7c0..ac0abe6b 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": "22ea92286036f28a59cfbe5d7c835f4738d62074",
+ "commit": "60b0c2b02dced96544e18efcad7d8d1c489b949c",
"catalog_path": "products/identifiers/generated/catalog.v1.json",
- "catalog_sha256": "2be0b75f9d9e56451af9785fbf73284806f40ab70bf2a1c85f3a612d871510d1"
+ "catalog_sha256": "800de6c787568677a26e2ccf4b0bc0fb5aaada4ac51e044a1b956b27fa3a1748"
}