From a55cd3c0c4e67bf719bdedf654ae48bd42d486d6 Mon Sep 17 00:00:00 2001 From: Jeremi Joslin Date: Wed, 9 Sep 2026 22:54:36 +0700 Subject: [PATCH 1/3] feat: align the site design with registrystack.org Refresh every human page to the registrystack.org civic-print design system: the broadsheet masthead with the RS mark and catalog navigation, a ledger-paper hero with the canonical URI as a stamped chip, ink-ruled section headings, ledger tables with mono paper header cells and status chips, the authority boundary as a stamp-red marginal note, machine records printing as ink code bands, and the deep ink footer with brass accents. The shared stylesheet, family favicon, and self-hosted Public Sans and IBM Plex Mono OFL subsets live in src/assets/, which the catalog import never touches. The stylesheet is served under a content-hashed filename with a single /assets/* cache rule that overlaps no existing header rule. Record content, JSON outputs, routes, and machine headers are unchanged; public/ is regenerated from the same pinned catalog. Signed-off-by: Jeremi Joslin --- README.md | 10 + public/404.html | 100 ++- public/_headers | 3 + public/assets/favicon.svg | 6 + .../ibm-plex-mono-latin-400-normal.woff2 | Bin 0 -> 14708 bytes .../ibm-plex-mono-latin-700-normal.woff2 | Bin 0 -> 14908 bytes .../fonts/public-sans-latin-400-normal.woff2 | Bin 0 -> 14632 bytes .../fonts/public-sans-latin-600-normal.woff2 | Bin 0 -> 14592 bytes .../fonts/public-sans-latin-700-normal.woff2 | Bin 0 -> 14600 bytes public/assets/site.af73d05e9347816d.css | 604 ++++++++++++++++++ public/contexts/index.html | 87 ++- public/contexts/registry-record/v1.html | 98 ++- public/index.html | 123 +++- public/namespaces/index.html | 87 ++- public/ns/registry-manifest/v1/index.html | 106 ++- public/problems/index.html | 203 +++--- .../action/evidence_failed/index.html | 108 +++- .../action/handler_failed/index.html | 108 +++- .../registry-breg/action/refused/index.html | 108 +++- .../authentication/refused/index.html | 108 +++- .../idempotency/conflict/index.html | 108 +++- .../lookup/unresolved/index.html | 108 +++- .../mutation/conflict/index.html | 108 +++- .../precondition/failed/index.html | 108 +++- .../precondition/required/index.html | 108 +++- .../query/cursor_invalid/index.html | 108 +++- .../registry-breg/query/invalid/index.html | 108 +++- .../registry-breg/request/invalid/index.html | 108 +++- .../request/plan_refused/index.html | 108 +++- .../registry-breg/request/timeout/index.html | 108 +++- .../resource/not_found/index.html | 108 +++- .../runtime/not_ready/index.html | 108 +++- .../service/unavailable/index.html | 108 +++- .../source/unavailable/index.html | 108 +++- .../unsupported/media_type/index.html | 108 +++- .../invalid-request/index.html | 108 +++- .../registry-discovery/not-found/index.html | 108 +++- .../result-bound-exceeded/index.html | 108 +++- .../registry-discovery/unavailable/index.html | 108 +++- .../auth/invalid_credential/index.html | 108 +++- .../evidence/denied/index.html | 108 +++- .../evidence/invalid_request/index.html | 108 +++- .../evidence/rate_limited/index.html | 108 +++- .../evidence/unavailable/index.html | 108 +++- .../format/unsupported/index.html | 108 +++- .../request/selector_invalid/index.html | 108 +++- .../resource/not_found/index.html | 108 +++- .../service/unavailable/index.html | 108 +++- .../source/unavailable/index.html | 108 +++- .../aggregate-data/denied/index.html | 108 +++- .../aggregate-data/invalid_request/index.html | 108 +++- .../aggregate-data/rate_limited/index.html | 108 +++- .../aggregate-data/too_large/index.html | 108 +++- .../audit/unavailable/index.html | 108 +++- .../auth/invalid_credential/index.html | 108 +++- .../auth/missing_credential/index.html | 108 +++- .../consultation/denied/index.html | 108 +++- .../consultation/invalid_request/index.html | 108 +++- .../consultation/rate_limited/index.html | 108 +++- .../response_too_large/index.html | 108 +++- .../consultation/unresolved/index.html | 108 +++- .../filter/invalid_value/index.html | 108 +++- .../filter/unknown_field/index.html | 108 +++- .../format/unsupported/index.html | 108 +++- .../internal/payload_too_large/index.html | 108 +++- .../internal/timeout/index.html | 108 +++- .../internal/unhandled/index.html | 108 +++- .../internal/uri_too_long/index.html | 108 +++- .../query/cursor_invalid/index.html | 108 +++- .../request/access_profile_invalid/index.html | 108 +++- .../request/fields_invalid/index.html | 108 +++- .../request/media_type_unsupported/index.html | 108 +++- .../resource/not_found/index.html | 108 +++- .../service/not_ready/index.html | 108 +++- .../source/unavailable/index.html | 108 +++- public/profiles/index.html | 87 ++- public/profiles/registry-record/v1.html | 98 ++- .../index.html | 98 ++- .../index.html | 98 ++- .../runtime.v1alpha1.schema/index.html | 98 ++- .../identifiers/catalog.v1.schema/index.html | 98 ++- public/schemas/index.html | 101 ++- public/schemas/registry-record/v1.html | 98 ++- .../registry-relay/audit-event/v2alpha1.html | 98 ++- .../registry.v2alpha1.schema/index.html | 98 ++- .../runtime.v2alpha1.schema/index.html | 98 ++- public/vocab/codelist/index.html | 106 ++- .../coordinateReferenceSystem/index.html | 106 ++- public/vocab/core/index.html | 106 ++- public/vocab/geometryType/index.html | 106 ++- public/vocab/handling/index.html | 106 ++- public/vocab/registry-record/index.html | 106 ++- public/vocab/sourceRequired/index.html | 106 ++- public/vocabularies/index.html | 99 ++- scripts/build.mjs | 393 +++++++++--- src/assets/favicon.svg | 6 + src/assets/fonts/ibm-plex-mono-OFL.txt | 93 +++ .../ibm-plex-mono-latin-400-normal.woff2 | Bin 0 -> 14708 bytes .../ibm-plex-mono-latin-700-normal.woff2 | Bin 0 -> 14908 bytes src/assets/fonts/public-sans-OFL.txt | 93 +++ .../fonts/public-sans-latin-400-normal.woff2 | Bin 0 -> 14632 bytes .../fonts/public-sans-latin-600-normal.woff2 | Bin 0 -> 14592 bytes .../fonts/public-sans-latin-700-normal.woff2 | Bin 0 -> 14600 bytes src/assets/site.css | 604 ++++++++++++++++++ 104 files changed, 8095 insertions(+), 2804 deletions(-) create mode 100644 public/assets/favicon.svg create mode 100644 public/assets/fonts/ibm-plex-mono-latin-400-normal.woff2 create mode 100644 public/assets/fonts/ibm-plex-mono-latin-700-normal.woff2 create mode 100644 public/assets/fonts/public-sans-latin-400-normal.woff2 create mode 100644 public/assets/fonts/public-sans-latin-600-normal.woff2 create mode 100644 public/assets/fonts/public-sans-latin-700-normal.woff2 create mode 100644 public/assets/site.af73d05e9347816d.css create mode 100644 src/assets/favicon.svg create mode 100644 src/assets/fonts/ibm-plex-mono-OFL.txt create mode 100644 src/assets/fonts/ibm-plex-mono-latin-400-normal.woff2 create mode 100644 src/assets/fonts/ibm-plex-mono-latin-700-normal.woff2 create mode 100644 src/assets/fonts/public-sans-OFL.txt create mode 100644 src/assets/fonts/public-sans-latin-400-normal.woff2 create mode 100644 src/assets/fonts/public-sans-latin-600-normal.woff2 create mode 100644 src/assets/fonts/public-sans-latin-700-normal.woff2 create mode 100644 src/assets/site.css diff --git a/README.md b/README.md index b19211b..1e9306e 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,16 @@ Problem records deliberately leave `http_statuses`, `retryable`, curated value. Clients should use the RFC 9457 response body, especially `code`, `status`, and `detail`, for request-specific behavior. +## Site design + +Human pages share one stylesheet and self-hosted font subsets (Public Sans, +IBM Plex Mono) kept in `src/assets/`, following the registrystack.org design +system. They are publisher-owned presentational machinery, not identifiers: +`npm run import:catalog` never touches them, the build copies them to +`public/assets/`, and the stylesheet is served under a content-hashed +filename so it can cache safely. The OFL font licenses are kept beside the +fonts in `src/assets/fonts/`. + ## Local workflow Import the catalog and artifacts from an exact Registry Stack commit: diff --git a/public/404.html b/public/404.html index 8b338be..b91005b 100644 --- a/public/404.html +++ b/public/404.html @@ -4,40 +4,82 @@ Identifier not found | Registry Stack identifiers - + + + -
+ +
+
+

Not found

Identifier not found

-

This path is not a registered Registry Stack identifier.

+

This path is not a registered Registry Stack identifier.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Browse the published identifiers:

- -
+
+

Browse the published identifiers

+ +
+ + diff --git a/public/_headers b/public/_headers index c839ee0..8d7cac5 100644 --- a/public/_headers +++ b/public/_headers @@ -2,6 +2,9 @@ X-Content-Type-Options: nosniff Referrer-Policy: no-referrer +/assets/* + Cache-Control: public, max-age=86400 + /index.json Content-Type: application/json; charset=utf-8 Access-Control-Allow-Origin: * diff --git a/public/assets/favicon.svg b/public/assets/favicon.svg new file mode 100644 index 0000000..aac5308 --- /dev/null +++ b/public/assets/favicon.svg @@ -0,0 +1,6 @@ + + Registry Stack identifiers favicon + A compact registry service mark with three horizontal service lines. + + + diff --git a/public/assets/fonts/ibm-plex-mono-latin-400-normal.woff2 b/public/assets/fonts/ibm-plex-mono-latin-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0804aaff92260b5359330f63e05b9ac25ccabeee GIT binary patch literal 14708 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 literal 0 HcmV?d00001 diff --git a/public/assets/fonts/public-sans-latin-700-normal.woff2 b/public/assets/fonts/public-sans-latin-700-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..79c2c45c345605177cf0ae9099e86e2decb99aca GIT binary patch literal 14600 zcmV+jIrqkQPew8T0RR91067Q%5C8xG0C`{l063%o0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/public/assets/site.af73d05e9347816d.css b/public/assets/site.af73d05e9347816d.css new file mode 100644 index 0000000..6850f7b --- /dev/null +++ b/public/assets/site.af73d05e9347816d.css @@ -0,0 +1,604 @@ +/* Registry Stack identifier resolver. + Civic-print design system shared with registrystack.org: same palette, + Public Sans / IBM Plex Mono pairing, masthead rule, ledger tables, and ink + footer, trimmed to what these record pages need. Fonts are self-hosted OFL + subsets; licenses live beside them in src/assets/fonts/. */ + +@font-face { + font-family: 'Public Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('fonts/public-sans-latin-400-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'Public Sans'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url('fonts/public-sans-latin-600-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'Public Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url('fonts/public-sans-latin-700-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url('fonts/ibm-plex-mono-latin-700-normal.woff2') format('woff2'); +} + +:root { + color-scheme: light; + --registry-blue: #173b7a; + --registry-blue-dark: #102a56; + --registry-ink: #161616; + --registry-body: #3a3a3a; + --registry-muted: #6a6a6a; + --registry-rule: #e5e5e5; + --registry-active: #eef3ff; + --registry-code-bg: #f3f4f6; + /* Civic-print palette: quiet ledger-green paper, ink bands, a stamp red used + sparingly for the authority boundary and the open catalog mark. */ + --registry-paper: #eef2ec; + --registry-stamp: #9d2c1d; + --registry-brass: #d4af4e; + --registry-max: 1120px; + --registry-font: 'Public Sans', system-ui, sans-serif; + --registry-mono: 'IBM Plex Mono', ui-monospace, monospace; +} + +* { + box-sizing: border-box; +} + +html { + background: #ffffff; + color: var(--registry-body); + font-family: var(--registry-font); +} + +body { + font-size: 16px; + line-height: 1.58; + margin: 0; +} + +::selection { + background: var(--registry-blue); + color: #ffffff; +} + +a { + color: var(--registry-blue); + text-decoration: none; + text-underline-offset: 3px; +} + +a:hover { + text-decoration: underline; +} + +:focus-visible { + outline: 2px solid var(--registry-blue); + outline-offset: 3px; +} + +h1, +h2, +h3, +p { + margin-top: 0; +} + +/* Masthead rule: the broadsheet nameplate border shared with registrystack.org. */ +.site-header { + align-items: center; + backdrop-filter: blur(8px) saturate(1.4); + background: rgba(255, 255, 255, 0.92); + border-bottom: 2px solid var(--registry-ink); + display: flex; + gap: 24px; + justify-content: space-between; + padding: 14px clamp(16px, 4vw, 42px); + position: sticky; + top: 0; + z-index: 10; +} + +.brand { + align-items: center; + color: var(--registry-ink); + display: inline-flex; + font-size: 17px; + font-weight: 700; + gap: 12px; + white-space: nowrap; +} + +.brand:hover { + text-decoration: none; +} + +.brand-mark { + align-items: center; + background: var(--registry-blue); + color: #ffffff; + display: inline-flex; + font-family: var(--registry-mono); + font-size: 13px; + height: 34px; + justify-content: center; + width: 34px; +} + +.brand-site { + border-left: 1px solid var(--registry-rule); + color: var(--registry-muted); + font-size: 13px; + font-weight: 600; + margin-left: 2px; + padding-left: 12px; +} + +.top-nav { + align-items: center; + display: flex; + flex-wrap: wrap; + gap: clamp(12px, 2vw, 22px); + justify-content: flex-end; +} + +.top-nav a { + align-items: center; + color: var(--registry-muted); + display: inline-flex; + font-size: 14px; + font-weight: 600; + justify-content: center; + min-height: 36px; + min-width: 36px; +} + +.top-nav a:hover { + color: var(--registry-ink); +} + +/* The open catalog is ticked in the register: ink text, stamp-red underline. */ +.top-nav a[aria-current='page'] { + box-shadow: inset 0 -2px 0 var(--registry-stamp); + color: var(--registry-ink); +} + +.top-nav .nav-emphasis { + color: var(--registry-blue); +} + +/* Every record opens on quiet, unruled paper, like the site heroes. */ +.hero { + background-color: var(--registry-paper); + border-bottom: 1px solid var(--registry-rule); +} + +.hero-inner { + margin: 0 auto; + max-width: var(--registry-max); + padding: clamp(36px, 5vw, 60px) clamp(16px, 4vw, 42px) clamp(32px, 4vw, 52px); +} + +.eyebrow { + color: var(--registry-blue); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.08em; + margin: 0 0 14px; + text-transform: uppercase; +} + +.hero h1 { + color: var(--registry-ink); + font-size: clamp(30px, 4.5vw, 46px); + letter-spacing: -0.01em; + line-height: 1.08; + margin-bottom: 16px; + max-width: 880px; + text-wrap: balance; +} + +.hero-lead { + color: var(--registry-body); + font-size: clamp(17px, 1.8vw, 20px); + line-height: 1.45; + margin-bottom: 20px; + max-width: 760px; +} + +/* The canonical URI sits on the hero as a stamped chip. */ +.hero-uri { + background: #ffffff; + border: 1px solid var(--registry-rule); + color: var(--registry-ink); + display: inline-block; + font-family: var(--registry-mono); + font-size: 13px; + line-height: 1.5; + max-width: 100%; + overflow-wrap: anywhere; + padding: 9px 12px; +} + +.record { + margin: 0 auto; + max-width: 920px; + padding: clamp(28px, 5vw, 48px) clamp(16px, 4vw, 42px) clamp(56px, 8vw, 84px); +} + +/* Section headings carry the strong ink rule, in the manner of the article + body on registrystack.org. */ +.record h2 { + border-top: 2px solid var(--registry-ink); + color: var(--registry-ink); + font-size: 22px; + line-height: 1.2; + margin: 44px 0 16px; + padding-top: 16px; + scroll-margin-top: 84px; +} + +/* The authority boundary reads as a stamped marginal note. */ +.notice { + background: var(--registry-paper); + border-left: 4px solid var(--registry-stamp); + padding: 16px 20px; +} + +.notice-title { + color: var(--registry-ink); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.08em; + margin: 0 0 8px; + text-transform: uppercase; +} + +.notice p { + color: var(--registry-body); + font-size: 15px; + line-height: 1.55; + margin: 0 0 8px; +} + +.notice p:last-child { + margin-bottom: 0; +} + +/* Ledger tables: ruled cells, paper column heads in mono. */ +table { + background: #ffffff; + border-collapse: collapse; + display: block; + font-size: 14px; + line-height: 1.5; + margin: 0; + max-width: 100%; + overflow-x: auto; + width: 100%; +} + +th, +td { + border: 1px solid var(--registry-rule); + padding: 10px 12px; + text-align: left; + vertical-align: top; +} + +th { + background: var(--registry-paper); + color: var(--registry-ink); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.02em; +} + +.facts th { + white-space: nowrap; + width: 180px; +} + +.cell-uri { + font-family: var(--registry-mono); + font-size: 13px; + overflow-wrap: anywhere; +} + +/* Catalog tables give the URI room to wrap while titles and status keep + readable columns. */ +.catalog th:nth-child(1), +.catalog td:nth-child(1) { + width: 56%; +} + +.catalog th:nth-child(2), +.catalog td:nth-child(2) { + width: 30%; +} + +.catalog th:nth-child(3), +.catalog td:nth-child(3) { + width: 14%; + white-space: nowrap; +} + +.status { + background: var(--registry-active); + color: var(--registry-blue); + display: inline-block; + font-family: var(--registry-mono); + font-size: 11px; + font-weight: 700; + letter-spacing: 0.04em; + padding: 3px 8px; + text-transform: uppercase; +} + +.muted { + color: var(--registry-muted); +} + +/* Documentation links read as ruled ledger rows. */ +.doc-list { + display: grid; + list-style: none; + margin: 0; + padding: 0; +} + +.doc-list li { + border-top: 1px solid var(--registry-rule); + padding: 10px 0; +} + +.doc-list a { + font-weight: 600; +} + +code { + font-family: var(--registry-mono); + font-size: 13px; +} + +.record :not(pre) > code { + background: var(--registry-code-bg); + color: var(--registry-ink); + overflow-wrap: anywhere; + padding: 2px 6px; +} + +/* The machine record prints as an ink band, like the article code blocks. */ +pre { + background: var(--registry-ink); + color: #ffffff; + margin: 0; + max-width: 100%; + overflow-x: auto; + padding: 20px; +} + +pre code { + background: transparent; + color: inherit; + line-height: 1.55; + white-space: pre; +} + +.machine-link { + font-family: var(--registry-mono); + font-size: 12px; + font-weight: 700; + letter-spacing: 0.04em; + margin: 16px 0 0; + text-transform: uppercase; +} + +/* The home catalog reads as ledger column headings, not boxed cards. */ +.catalog-grid { + display: grid; + gap: clamp(20px, 3vw, 40px); + grid-template-columns: repeat(3, minmax(0, 1fr)); + margin-top: 36px; +} + +.catalog-grid article { + border-top: 2px solid var(--registry-ink); + min-width: 0; + padding: 14px 0 0; +} + +.catalog-grid h3 { + font-size: 18px; + line-height: 1.2; + margin: 0 0 8px; +} + +.catalog-grid h3 a { + color: var(--registry-ink); +} + +.catalog-grid h3 a:hover { + color: var(--registry-blue); + text-decoration: none; +} + +.catalog-count { + color: var(--registry-blue); + font-family: var(--registry-mono); + font-size: 11px; + letter-spacing: 0.1em; + margin: 0 0 10px; + text-transform: uppercase; +} + +.catalog-grid p { + color: var(--registry-body); + font-size: 15px; + line-height: 1.5; + margin: 0; +} + +/* The footer is a deep ink band, bookending the paper hero. */ +.site-footer { + background: var(--registry-ink); + color: #ffffff; +} + +.site-footer-inner { + display: grid; + gap: clamp(28px, 5vw, 56px); + grid-template-columns: minmax(220px, 1fr) 2.4fr; + margin: 0 auto; + max-width: var(--registry-max); + padding: 44px clamp(16px, 4vw, 42px) 28px; +} + +.footer-brand-name { + color: var(--registry-brass); + display: inline-block; + font-family: var(--registry-mono); + font-size: 14px; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.footer-brand p { + color: rgba(255, 255, 255, 0.72); + font-size: 14px; + line-height: 1.55; + margin: 10px 0 0; + max-width: 360px; +} + +.footer-nav { + display: grid; + gap: clamp(20px, 3vw, 40px); + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.footer-col-title { + color: var(--registry-brass); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.1em; + margin: 0 0 10px; + text-transform: uppercase; +} + +.footer-col ul { + display: grid; + gap: 2px; + list-style: none; + margin: 0; + padding: 0; +} + +.footer-col a { + align-items: center; + color: rgba(255, 255, 255, 0.86); + display: flex; + font-size: 14px; + min-height: 32px; +} + +.footer-col a:hover { + color: #ffffff; +} + +.site-footer-base { + border-top: 1px solid rgba(255, 255, 255, 0.16); + display: flex; + flex-wrap: wrap; + gap: 6px 28px; + justify-content: space-between; + margin: 0 auto; + max-width: var(--registry-max); + padding: 16px clamp(16px, 4vw, 42px) 28px; +} + +.site-footer-base p { + color: rgba(255, 255, 255, 0.58); + font-size: 13px; + margin: 0; +} + +.site-footer-base a { + color: rgba(255, 255, 255, 0.78); + font-weight: 700; + text-decoration: underline; + text-underline-offset: 3px; +} + +.site-footer :focus-visible { + outline-color: #ffffff; +} + +@media (max-width: 900px) { + /* On small screens the header gives the space back and scrolls away. */ + .site-header { + align-items: flex-start; + flex-direction: column; + gap: 10px; + padding: 12px 16px; + position: static; + } + + .top-nav { + gap: 2px 18px; + justify-content: flex-start; + } + + .catalog-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media (max-width: 620px) { + .hero h1 { + font-size: clamp(28px, 8vw, 36px); + } + + .record h2 { + margin-top: 36px; + } + + .catalog-grid { + grid-template-columns: 1fr; + } + + .site-footer-inner { + grid-template-columns: 1fr; + } + + .footer-nav { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .site-footer-base { + flex-direction: column; + } +} diff --git a/public/contexts/index.html b/public/contexts/index.html index 6bc4f8c..36d6620 100644 --- a/public/contexts/index.html +++ b/public/contexts/index.html @@ -4,37 +4,80 @@ Contexts | Registry Stack identifiers - + + + -
+ +
+
+

Catalog

Contexts

-

Stable Registry Stack identifiers.

+

Stable Registry Stack identifiers.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

- +
+

1 published identifiers

+
- +
IdentifierTitleStatus
https://id.registrystack.org/contexts/registry-record/v1Registry Record v1 JSON-LD contextactive
https://id.registrystack.org/contexts/registry-record/v1Registry Record v1 JSON-LD contextactive
-
+ + + diff --git a/public/contexts/registry-record/v1.html b/public/contexts/registry-record/v1.html index 7844c3f..0194f85 100644 --- a/public/contexts/registry-record/v1.html +++ b/public/contexts/registry-record/v1.html @@ -4,49 +4,93 @@ Registry Record v1 JSON-LD context | Registry Stack identifiers - + + + -
+ +
+
+

JSON-LD context

Registry Record v1 JSON-LD context

-

https://id.registrystack.org/contexts/registry-record/v1

-

Governed JSON-LD terms for the Registry Record v1 base response profile.

+

Governed JSON-LD terms for the Registry Record v1 base response profile.

+

https://id.registrystack.org/contexts/registry-record/v1

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

The canonical machine artifact at this URI is the JSON-LD context itself.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev1
Ownerregistry-record
Artifact SHA-2569b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/9b8bf452538214d8559b4e8034446bfade37b5f409cfeaaace650a567423be71.jsonld
-

Documentation

-
+ + + + diff --git a/public/index.html b/public/index.html index 690687c..6cc0d77 100644 --- a/public/index.html +++ b/public/index.html @@ -4,39 +4,106 @@ Registry Stack identifiers - + + + -
+ +
+
+

id.registrystack.org

Registry Stack identifiers

-

Stable machine identifiers for Registry Stack problem types, namespaces, vocabularies, schemas, contexts, and profiles.

+

Stable machine identifiers for Registry Stack problem types, namespaces, vocabularies, schemas, contexts, and profiles.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

- -
+
+

Catalogs

+
+
+

Problem types

+

59 identifiers

+

RFC 9457 problem type URIs with a stable code for programmatic branching.

+
+
+

Namespaces

+

1 identifiers

+

JSON-LD namespace declarations.

+
+
+

Schemas

+

8 identifiers

+

JSON Schema documents, published at their canonical URI.

+
+
+

Contexts

+

1 identifiers

+

JSON-LD contexts, published at their canonical URI.

+
+
+

Profiles

+

1 identifiers

+

Response profile documents, published at their canonical URI.

+
+
+

Vocabularies

+

7 identifiers

+

Governed vocabularies and their vocabulary terms.

+
+
+
+ + diff --git a/public/namespaces/index.html b/public/namespaces/index.html index 734146f..7e9b970 100644 --- a/public/namespaces/index.html +++ b/public/namespaces/index.html @@ -4,37 +4,80 @@ Namespaces | Registry Stack identifiers - + + + -
+ +
+
+

Catalog

Namespaces

-

Stable Registry Stack identifiers.

+

Stable Registry Stack identifiers.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

- +
+

1 published identifiers

+
- +
IdentifierTitleStatus
https://id.registrystack.org/ns/registry-manifest/v1Registry Manifest v1 namespaceactive
https://id.registrystack.org/ns/registry-manifest/v1Registry Manifest v1 namespaceactive
-
+ + + diff --git a/public/ns/registry-manifest/v1/index.html b/public/ns/registry-manifest/v1/index.html index da3c856..9cfb59d 100644 --- a/public/ns/registry-manifest/v1/index.html +++ b/public/ns/registry-manifest/v1/index.html @@ -4,49 +4,61 @@ Registry Manifest v1 namespace | Registry Stack identifiers - + + + -
+ +
+
+

Namespace

Registry Manifest v1 namespace

-

https://id.registrystack.org/ns/registry-manifest/v1#

-

JSON-LD namespace for Registry Manifest terms.

+

JSON-LD namespace for Registry Manifest terms.

+

https://id.registrystack.org/ns/registry-manifest/v1#

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindnamespace
Statusactive
KindNamespace
Statusactive
Compatibility linev1
Ownerregistry-manifest
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/ns/registry-manifest/v1#",
       "title": "Registry Manifest v1 namespace",
       "description": "JSON-LD namespace for Registry Manifest terms.",
    @@ -80,7 +92,41 @@ 

    Identifier record

    "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/problems/index.html b/public/problems/index.html index 3811c45..ffcd960 100644 --- a/public/problems/index.html +++ b/public/problems/index.html @@ -4,95 +4,138 @@ Problems | Registry Stack identifiers - + + + -
+ +
+
+

Catalog

Problems

-

Stable Registry Stack identifiers.

+

Stable Registry Stack identifiers.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

- +
+

59 published identifiers

+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdentifierTitleStatus
https://id.registrystack.org/problems/registry-breg/action/evidence_failedService Unavailableactive
https://id.registrystack.org/problems/registry-breg/action/handler_failedInternal Server Erroractive
https://id.registrystack.org/problems/registry-breg/action/refusedUnprocessable Entityactive
https://id.registrystack.org/problems/registry-breg/authentication/refusedUnauthorizedactive
https://id.registrystack.org/problems/registry-breg/idempotency/conflictConflictactive
https://id.registrystack.org/problems/registry-breg/lookup/unresolvedNot Foundactive
https://id.registrystack.org/problems/registry-breg/mutation/conflictConflictactive
https://id.registrystack.org/problems/registry-breg/precondition/failedPrecondition Failedactive
https://id.registrystack.org/problems/registry-breg/precondition/requiredPrecondition Requiredactive
https://id.registrystack.org/problems/registry-breg/query/cursor_invalidBad Requestactive
https://id.registrystack.org/problems/registry-breg/query/invalidBad Requestactive
https://id.registrystack.org/problems/registry-breg/request/invalidBad Requestactive
https://id.registrystack.org/problems/registry-breg/request/plan_refusedBad Requestactive
https://id.registrystack.org/problems/registry-breg/request/timeoutGateway Timeoutactive
https://id.registrystack.org/problems/registry-breg/resource/not_foundNot Foundactive
https://id.registrystack.org/problems/registry-breg/runtime/not_readyService Unavailableactive
https://id.registrystack.org/problems/registry-breg/service/unavailableService Unavailableactive
https://id.registrystack.org/problems/registry-breg/source/unavailableService Unavailableactive
https://id.registrystack.org/problems/registry-breg/unsupported/media_typeUnsupported Media Typeactive
https://id.registrystack.org/problems/registry-discovery/invalid-requestInvalid requestactive
https://id.registrystack.org/problems/registry-discovery/not-foundNot foundactive
https://id.registrystack.org/problems/registry-discovery/result-bound-exceededResult bound exceededactive
https://id.registrystack.org/problems/registry-discovery/unavailableUnavailableactive
https://id.registrystack.org/problems/registry-evidence/auth/invalid_credentialBearer access token is invalidactive
https://id.registrystack.org/problems/registry-evidence/evidence/deniedEvidence request is not permittedactive
https://id.registrystack.org/problems/registry-evidence/evidence/invalid_requestEvidence request is invalidactive
https://id.registrystack.org/problems/registry-evidence/evidence/rate_limitedEvidence request rate is exhaustedactive
https://id.registrystack.org/problems/registry-evidence/evidence/unavailableEvidence could not be producedactive
https://id.registrystack.org/problems/registry-evidence/format/unsupportedRequested format is not supportedactive
https://id.registrystack.org/problems/registry-evidence/request/selector_invalidSelector is invalidactive
https://id.registrystack.org/problems/registry-evidence/resource/not_foundRequested resource was not foundactive
https://id.registrystack.org/problems/registry-evidence/service/unavailableService is unavailableactive
https://id.registrystack.org/problems/registry-evidence/source/unavailableAuthoritative source is unavailableactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/deniedAggregate data access is not permittedactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_requestAggregate data request is invalidactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limitedAggregate data quota is exhaustedactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/too_largeAggregate data request is too broadactive
https://id.registrystack.org/problems/registry-relay/audit/unavailableRequired audit is unavailableactive
https://id.registrystack.org/problems/registry-relay/auth/invalid_credentialBearer access token is invalidactive
https://id.registrystack.org/problems/registry-relay/auth/missing_credentialBearer access token is requiredactive
https://id.registrystack.org/problems/registry-relay/consultation/deniedConsultation is not permittedactive
https://id.registrystack.org/problems/registry-relay/consultation/invalid_requestConsultation request is invalidactive
https://id.registrystack.org/problems/registry-relay/consultation/rate_limitedConsultation quota is exhaustedactive
https://id.registrystack.org/problems/registry-relay/consultation/response_too_largeConsultation response is too largeactive
https://id.registrystack.org/problems/registry-relay/consultation/unresolvedRequested record was not resolvedactive
https://id.registrystack.org/problems/registry-relay/filter/invalid_valueFilter value is invalidactive
https://id.registrystack.org/problems/registry-relay/filter/unknown_fieldFilter is not declaredactive
https://id.registrystack.org/problems/registry-relay/format/unsupportedRequested format is not supportedactive
https://id.registrystack.org/problems/registry-relay/internal/payload_too_largeRequest body is too largeactive
https://id.registrystack.org/problems/registry-relay/internal/timeoutRequest timed outactive
https://id.registrystack.org/problems/registry-relay/internal/unhandledRequest could not be servedactive
https://id.registrystack.org/problems/registry-relay/internal/uri_too_longRequest URI is too longactive
https://id.registrystack.org/problems/registry-relay/query/cursor_invalidCursor is invalidactive
https://id.registrystack.org/problems/registry-relay/request/access_profile_invalidAccess profile selection is invalidactive
https://id.registrystack.org/problems/registry-relay/request/fields_invalidField selection is invalidactive
https://id.registrystack.org/problems/registry-relay/request/media_type_unsupportedRequest media type is not supportedactive
https://id.registrystack.org/problems/registry-relay/resource/not_foundRequested resource was not foundactive
https://id.registrystack.org/problems/registry-relay/service/not_readyService is not readyactive
https://id.registrystack.org/problems/registry-relay/source/unavailableAuthoritative source is unavailableactive
https://id.registrystack.org/problems/registry-breg/action/evidence_failedService Unavailableactive
https://id.registrystack.org/problems/registry-breg/action/handler_failedInternal Server Erroractive
https://id.registrystack.org/problems/registry-breg/action/refusedUnprocessable Entityactive
https://id.registrystack.org/problems/registry-breg/authentication/refusedUnauthorizedactive
https://id.registrystack.org/problems/registry-breg/idempotency/conflictConflictactive
https://id.registrystack.org/problems/registry-breg/lookup/unresolvedNot Foundactive
https://id.registrystack.org/problems/registry-breg/mutation/conflictConflictactive
https://id.registrystack.org/problems/registry-breg/precondition/failedPrecondition Failedactive
https://id.registrystack.org/problems/registry-breg/precondition/requiredPrecondition Requiredactive
https://id.registrystack.org/problems/registry-breg/query/cursor_invalidBad Requestactive
https://id.registrystack.org/problems/registry-breg/query/invalidBad Requestactive
https://id.registrystack.org/problems/registry-breg/request/invalidBad Requestactive
https://id.registrystack.org/problems/registry-breg/request/plan_refusedBad Requestactive
https://id.registrystack.org/problems/registry-breg/request/timeoutGateway Timeoutactive
https://id.registrystack.org/problems/registry-breg/resource/not_foundNot Foundactive
https://id.registrystack.org/problems/registry-breg/runtime/not_readyService Unavailableactive
https://id.registrystack.org/problems/registry-breg/service/unavailableService Unavailableactive
https://id.registrystack.org/problems/registry-breg/source/unavailableService Unavailableactive
https://id.registrystack.org/problems/registry-breg/unsupported/media_typeUnsupported Media Typeactive
https://id.registrystack.org/problems/registry-discovery/invalid-requestInvalid requestactive
https://id.registrystack.org/problems/registry-discovery/not-foundNot foundactive
https://id.registrystack.org/problems/registry-discovery/result-bound-exceededResult bound exceededactive
https://id.registrystack.org/problems/registry-discovery/unavailableUnavailableactive
https://id.registrystack.org/problems/registry-evidence/auth/invalid_credentialBearer access token is invalidactive
https://id.registrystack.org/problems/registry-evidence/evidence/deniedEvidence request is not permittedactive
https://id.registrystack.org/problems/registry-evidence/evidence/invalid_requestEvidence request is invalidactive
https://id.registrystack.org/problems/registry-evidence/evidence/rate_limitedEvidence request rate is exhaustedactive
https://id.registrystack.org/problems/registry-evidence/evidence/unavailableEvidence could not be producedactive
https://id.registrystack.org/problems/registry-evidence/format/unsupportedRequested format is not supportedactive
https://id.registrystack.org/problems/registry-evidence/request/selector_invalidSelector is invalidactive
https://id.registrystack.org/problems/registry-evidence/resource/not_foundRequested resource was not foundactive
https://id.registrystack.org/problems/registry-evidence/service/unavailableService is unavailableactive
https://id.registrystack.org/problems/registry-evidence/source/unavailableAuthoritative source is unavailableactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/deniedAggregate data access is not permittedactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_requestAggregate data request is invalidactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limitedAggregate data quota is exhaustedactive
https://id.registrystack.org/problems/registry-relay/aggregate-data/too_largeAggregate data request is too broadactive
https://id.registrystack.org/problems/registry-relay/audit/unavailableRequired audit is unavailableactive
https://id.registrystack.org/problems/registry-relay/auth/invalid_credentialBearer access token is invalidactive
https://id.registrystack.org/problems/registry-relay/auth/missing_credentialBearer access token is requiredactive
https://id.registrystack.org/problems/registry-relay/consultation/deniedConsultation is not permittedactive
https://id.registrystack.org/problems/registry-relay/consultation/invalid_requestConsultation request is invalidactive
https://id.registrystack.org/problems/registry-relay/consultation/rate_limitedConsultation quota is exhaustedactive
https://id.registrystack.org/problems/registry-relay/consultation/response_too_largeConsultation response is too largeactive
https://id.registrystack.org/problems/registry-relay/consultation/unresolvedRequested record was not resolvedactive
https://id.registrystack.org/problems/registry-relay/filter/invalid_valueFilter value is invalidactive
https://id.registrystack.org/problems/registry-relay/filter/unknown_fieldFilter is not declaredactive
https://id.registrystack.org/problems/registry-relay/format/unsupportedRequested format is not supportedactive
https://id.registrystack.org/problems/registry-relay/internal/payload_too_largeRequest body is too largeactive
https://id.registrystack.org/problems/registry-relay/internal/timeoutRequest timed outactive
https://id.registrystack.org/problems/registry-relay/internal/unhandledRequest could not be servedactive
https://id.registrystack.org/problems/registry-relay/internal/uri_too_longRequest URI is too longactive
https://id.registrystack.org/problems/registry-relay/query/cursor_invalidCursor is invalidactive
https://id.registrystack.org/problems/registry-relay/request/access_profile_invalidAccess profile selection is invalidactive
https://id.registrystack.org/problems/registry-relay/request/fields_invalidField selection is invalidactive
https://id.registrystack.org/problems/registry-relay/request/media_type_unsupportedRequest media type is not supportedactive
https://id.registrystack.org/problems/registry-relay/resource/not_foundRequested resource was not foundactive
https://id.registrystack.org/problems/registry-relay/service/not_readyService is not readyactive
https://id.registrystack.org/problems/registry-relay/source/unavailableAuthoritative source is unavailableactive
-
+ + + diff --git a/public/problems/registry-breg/action/evidence_failed/index.html b/public/problems/registry-breg/action/evidence_failed/index.html index 7b12831..2183983 100644 --- a/public/problems/registry-breg/action/evidence_failed/index.html +++ b/public/problems/registry-breg/action/evidence_failed/index.html @@ -4,68 +4,76 @@ Service Unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Service Unavailable

-

The declared Evidence dependency could not be accepted.

-

https://id.registrystack.org/problems/registry-breg/action/evidence_failed

+

The declared Evidence dependency could not be accepted.

+

https://id.registrystack.org/problems/registry-breg/action/evidence_failed

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/action/evidence_failed
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeaction.evidence_failed
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/action/evidence_failed",
   "type": "https://id.registrystack.org/problems/registry-breg/action/evidence_failed",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/action/handler_failed/index.html b/public/problems/registry-breg/action/handler_failed/index.html index 2f54dc8..3d46d36 100644 --- a/public/problems/registry-breg/action/handler_failed/index.html +++ b/public/problems/registry-breg/action/handler_failed/index.html @@ -4,68 +4,76 @@ Internal Server Error | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Internal Server Error

-

The action handler could not produce an accepted result.

-

https://id.registrystack.org/problems/registry-breg/action/handler_failed

+

The action handler could not produce an accepted result.

+

https://id.registrystack.org/problems/registry-breg/action/handler_failed

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/action/handler_failed
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeaction.handler_failed
Categorynot published
Categorynot published
HTTP statuses500

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/action/handler_failed",
   "type": "https://id.registrystack.org/problems/registry-breg/action/handler_failed",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/action/refused/index.html b/public/problems/registry-breg/action/refused/index.html index ed6539e..c6434f6 100644 --- a/public/problems/registry-breg/action/refused/index.html +++ b/public/problems/registry-breg/action/refused/index.html @@ -4,68 +4,76 @@ Unprocessable Entity | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Unprocessable Entity

-

The action was refused by a declared business rule.

-

https://id.registrystack.org/problems/registry-breg/action/refused

+

The action was refused by a declared business rule.

+

https://id.registrystack.org/problems/registry-breg/action/refused

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/action/refused
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeaction.refused
Categorynot published
Categorynot published
HTTP statuses422

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/action/refused",
   "type": "https://id.registrystack.org/problems/registry-breg/action/refused",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/authentication/refused/index.html b/public/problems/registry-breg/authentication/refused/index.html index 13becd1..6f6e420 100644 --- a/public/problems/registry-breg/authentication/refused/index.html +++ b/public/problems/registry-breg/authentication/refused/index.html @@ -4,68 +4,76 @@ Unauthorized | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Unauthorized

-

The bearer credential is missing or refused.

-

https://id.registrystack.org/problems/registry-breg/authentication/refused

+

The bearer credential is missing or refused.

+

https://id.registrystack.org/problems/registry-breg/authentication/refused

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/authentication/refused
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeauthentication.refused
Categorynot published
Categorynot published
HTTP statuses401

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/authentication/refused",
   "type": "https://id.registrystack.org/problems/registry-breg/authentication/refused",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/idempotency/conflict/index.html b/public/problems/registry-breg/idempotency/conflict/index.html index 8e68d67..de9646a 100644 --- a/public/problems/registry-breg/idempotency/conflict/index.html +++ b/public/problems/registry-breg/idempotency/conflict/index.html @@ -4,68 +4,76 @@ Conflict | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Conflict

-

The idempotency key is bound to another request.

-

https://id.registrystack.org/problems/registry-breg/idempotency/conflict

+

The idempotency key is bound to another request.

+

https://id.registrystack.org/problems/registry-breg/idempotency/conflict

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/idempotency/conflict
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeidempotency.conflict
Categorynot published
Categorynot published
HTTP statuses409

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/idempotency/conflict",
   "type": "https://id.registrystack.org/problems/registry-breg/idempotency/conflict",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/lookup/unresolved/index.html b/public/problems/registry-breg/lookup/unresolved/index.html index 12e7203..a357591 100644 --- a/public/problems/registry-breg/lookup/unresolved/index.html +++ b/public/problems/registry-breg/lookup/unresolved/index.html @@ -4,68 +4,76 @@ Not Found | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Not Found

-

The lookup did not resolve exactly one record.

-

https://id.registrystack.org/problems/registry-breg/lookup/unresolved

+

The lookup did not resolve exactly one record.

+

https://id.registrystack.org/problems/registry-breg/lookup/unresolved

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/lookup/unresolved
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codelookup.unresolved
Categorynot published
Categorynot published
HTTP statuses404

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/lookup/unresolved",
   "type": "https://id.registrystack.org/problems/registry-breg/lookup/unresolved",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/mutation/conflict/index.html b/public/problems/registry-breg/mutation/conflict/index.html index 17690e1..84ae7b2 100644 --- a/public/problems/registry-breg/mutation/conflict/index.html +++ b/public/problems/registry-breg/mutation/conflict/index.html @@ -4,68 +4,76 @@ Conflict | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Conflict

-

The mutation conflicts with current state.

-

https://id.registrystack.org/problems/registry-breg/mutation/conflict

+

The mutation conflicts with current state.

+

https://id.registrystack.org/problems/registry-breg/mutation/conflict

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/mutation/conflict
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codemutation.conflict
Categorynot published
Categorynot published
HTTP statuses409

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/mutation/conflict",
   "type": "https://id.registrystack.org/problems/registry-breg/mutation/conflict",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/precondition/failed/index.html b/public/problems/registry-breg/precondition/failed/index.html index b0a75d6..f5d0fb0 100644 --- a/public/problems/registry-breg/precondition/failed/index.html +++ b/public/problems/registry-breg/precondition/failed/index.html @@ -4,68 +4,76 @@ Precondition Failed | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Precondition Failed

-

The mutation precondition failed.

-

https://id.registrystack.org/problems/registry-breg/precondition/failed

+

The mutation precondition failed.

+

https://id.registrystack.org/problems/registry-breg/precondition/failed

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/precondition/failed
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeprecondition.failed
Categorynot published
Categorynot published
HTTP statuses412

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/precondition/failed",
   "type": "https://id.registrystack.org/problems/registry-breg/precondition/failed",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/precondition/required/index.html b/public/problems/registry-breg/precondition/required/index.html index 095b50a..cf24677 100644 --- a/public/problems/registry-breg/precondition/required/index.html +++ b/public/problems/registry-breg/precondition/required/index.html @@ -4,68 +4,76 @@ Precondition Required | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Precondition Required

-

The mutation precondition is required.

-

https://id.registrystack.org/problems/registry-breg/precondition/required

+

The mutation precondition is required.

+

https://id.registrystack.org/problems/registry-breg/precondition/required

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/precondition/required
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeprecondition.required
Categorynot published
Categorynot published
HTTP statuses428

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/precondition/required",
   "type": "https://id.registrystack.org/problems/registry-breg/precondition/required",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/query/cursor_invalid/index.html b/public/problems/registry-breg/query/cursor_invalid/index.html index 8edc24f..c7d1869 100644 --- a/public/problems/registry-breg/query/cursor_invalid/index.html +++ b/public/problems/registry-breg/query/cursor_invalid/index.html @@ -4,68 +4,76 @@ Bad Request | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Bad Request

-

The query cursor is invalid.

-

https://id.registrystack.org/problems/registry-breg/query/cursor_invalid

+

The query cursor is invalid.

+

https://id.registrystack.org/problems/registry-breg/query/cursor_invalid

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/query/cursor_invalid
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codequery.cursor_invalid
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/query/cursor_invalid",
   "type": "https://id.registrystack.org/problems/registry-breg/query/cursor_invalid",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/query/invalid/index.html b/public/problems/registry-breg/query/invalid/index.html index a1d0925..2791a3b 100644 --- a/public/problems/registry-breg/query/invalid/index.html +++ b/public/problems/registry-breg/query/invalid/index.html @@ -4,68 +4,76 @@ Bad Request | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Bad Request

-

The query request is invalid.

-

https://id.registrystack.org/problems/registry-breg/query/invalid

+

The query request is invalid.

+

https://id.registrystack.org/problems/registry-breg/query/invalid

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/query/invalid
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codequery.invalid
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/query/invalid",
   "type": "https://id.registrystack.org/problems/registry-breg/query/invalid",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/request/invalid/index.html b/public/problems/registry-breg/request/invalid/index.html index f794a5c..8896521 100644 --- a/public/problems/registry-breg/request/invalid/index.html +++ b/public/problems/registry-breg/request/invalid/index.html @@ -4,68 +4,76 @@ Bad Request | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Bad Request

-

The request is invalid.

-

https://id.registrystack.org/problems/registry-breg/request/invalid

+

The request is invalid.

+

https://id.registrystack.org/problems/registry-breg/request/invalid

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/request/invalid
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Coderequest.invalid
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/request/invalid",
   "type": "https://id.registrystack.org/problems/registry-breg/request/invalid",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/request/plan_refused/index.html b/public/problems/registry-breg/request/plan_refused/index.html index b530986..ff55b10 100644 --- a/public/problems/registry-breg/request/plan_refused/index.html +++ b/public/problems/registry-breg/request/plan_refused/index.html @@ -4,68 +4,76 @@ Bad Request | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Bad Request

-

The change-request planner refused the submission, naming the failure kind.

-

https://id.registrystack.org/problems/registry-breg/request/plan_refused

+

The change-request planner refused the submission, naming the failure kind.

+

https://id.registrystack.org/problems/registry-breg/request/plan_refused

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/request/plan_refused
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Coderequest.plan_refused
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/request/plan_refused",
   "type": "https://id.registrystack.org/problems/registry-breg/request/plan_refused",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/request/timeout/index.html b/public/problems/registry-breg/request/timeout/index.html index 4408b67..647011a 100644 --- a/public/problems/registry-breg/request/timeout/index.html +++ b/public/problems/registry-breg/request/timeout/index.html @@ -4,68 +4,76 @@ Gateway Timeout | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Gateway Timeout

-

The request timed out.

-

https://id.registrystack.org/problems/registry-breg/request/timeout

+

The request timed out.

+

https://id.registrystack.org/problems/registry-breg/request/timeout

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/request/timeout
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Coderequest.timeout
Categorynot published
Categorynot published
HTTP statuses504

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/request/timeout",
   "type": "https://id.registrystack.org/problems/registry-breg/request/timeout",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/resource/not_found/index.html b/public/problems/registry-breg/resource/not_found/index.html index 84ab8bf..ec7cb0d 100644 --- a/public/problems/registry-breg/resource/not_found/index.html +++ b/public/problems/registry-breg/resource/not_found/index.html @@ -4,68 +4,76 @@ Not Found | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Not Found

-

The requested resource was not found.

-

https://id.registrystack.org/problems/registry-breg/resource/not_found

+

The requested resource was not found.

+

https://id.registrystack.org/problems/registry-breg/resource/not_found

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/resource/not_found
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Coderesource.not_found
Categorynot published
Categorynot published
HTTP statuses404

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/resource/not_found",
   "type": "https://id.registrystack.org/problems/registry-breg/resource/not_found",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/runtime/not_ready/index.html b/public/problems/registry-breg/runtime/not_ready/index.html index b1e9480..c0cf205 100644 --- a/public/problems/registry-breg/runtime/not_ready/index.html +++ b/public/problems/registry-breg/runtime/not_ready/index.html @@ -4,68 +4,76 @@ Service Unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Service Unavailable

-

Registry runtime is not ready.

-

https://id.registrystack.org/problems/registry-breg/runtime/not_ready

+

Registry runtime is not ready.

+

https://id.registrystack.org/problems/registry-breg/runtime/not_ready

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/runtime/not_ready
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Coderuntime.not_ready
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/runtime/not_ready",
   "type": "https://id.registrystack.org/problems/registry-breg/runtime/not_ready",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/service/unavailable/index.html b/public/problems/registry-breg/service/unavailable/index.html index 71fcb8c..285c3e6 100644 --- a/public/problems/registry-breg/service/unavailable/index.html +++ b/public/problems/registry-breg/service/unavailable/index.html @@ -4,68 +4,76 @@ Service Unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Service Unavailable

-

The Registry mutation service is unavailable.

-

https://id.registrystack.org/problems/registry-breg/service/unavailable

+

The Registry mutation service is unavailable.

+

https://id.registrystack.org/problems/registry-breg/service/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/service/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeservice.unavailable
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/service/unavailable",
   "type": "https://id.registrystack.org/problems/registry-breg/service/unavailable",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/source/unavailable/index.html b/public/problems/registry-breg/source/unavailable/index.html index b1eb4f7..5b042f4 100644 --- a/public/problems/registry-breg/source/unavailable/index.html +++ b/public/problems/registry-breg/source/unavailable/index.html @@ -4,68 +4,76 @@ Service Unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Service Unavailable

-

The Registry data service is unavailable.

-

https://id.registrystack.org/problems/registry-breg/source/unavailable

+

The Registry data service is unavailable.

+

https://id.registrystack.org/problems/registry-breg/source/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/source/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codesource.unavailable
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/source/unavailable",
   "type": "https://id.registrystack.org/problems/registry-breg/source/unavailable",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-breg/unsupported/media_type/index.html b/public/problems/registry-breg/unsupported/media_type/index.html index 8969417..26b325f 100644 --- a/public/problems/registry-breg/unsupported/media_type/index.html +++ b/public/problems/registry-breg/unsupported/media_type/index.html @@ -4,68 +4,76 @@ Unsupported Media Type | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-breg

Unsupported Media Type

-

The request media type is not supported.

-

https://id.registrystack.org/problems/registry-breg/unsupported/media_type

+

The request media type is not supported.

+

https://id.registrystack.org/problems/registry-breg/unsupported/media_type

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-breg/unsupported/media_type
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-breg
Codeunsupported.media_type
Categorynot published
Categorynot published
HTTP statuses415

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-breg/unsupported/media_type",
   "type": "https://id.registrystack.org/problems/registry-breg/unsupported/media_type",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "dedb9f77024ef14dea56ea84c7da433bebbc4748e4d2672410a0c8bd5f087fc2" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-discovery/invalid-request/index.html b/public/problems/registry-discovery/invalid-request/index.html index ee655be..8f2510e 100644 --- a/public/problems/registry-discovery/invalid-request/index.html +++ b/public/problems/registry-discovery/invalid-request/index.html @@ -4,68 +4,76 @@ Invalid request | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-discovery

Invalid request

-

The Discovery request is invalid.

-

https://id.registrystack.org/problems/registry-discovery/invalid-request

+

The Discovery request is invalid.

+

https://id.registrystack.org/problems/registry-discovery/invalid-request

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-discovery/invalid-request
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-discovery
Codeinvalid-request
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-discovery/invalid-request",
   "type": "https://id.registrystack.org/problems/registry-discovery/invalid-request",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-discovery/not-found/index.html b/public/problems/registry-discovery/not-found/index.html index 5919e43..51b4b70 100644 --- a/public/problems/registry-discovery/not-found/index.html +++ b/public/problems/registry-discovery/not-found/index.html @@ -4,68 +4,76 @@ Not found | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-discovery

Not found

-

The requested Discovery resource was not found.

-

https://id.registrystack.org/problems/registry-discovery/not-found

+

The requested Discovery resource was not found.

+

https://id.registrystack.org/problems/registry-discovery/not-found

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-discovery/not-found
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-discovery
Codenot-found
Categorynot published
Categorynot published
HTTP statuses404

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-discovery/not-found",
   "type": "https://id.registrystack.org/problems/registry-discovery/not-found",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-discovery/result-bound-exceeded/index.html b/public/problems/registry-discovery/result-bound-exceeded/index.html index b644792..605c507 100644 --- a/public/problems/registry-discovery/result-bound-exceeded/index.html +++ b/public/problems/registry-discovery/result-bound-exceeded/index.html @@ -4,68 +4,76 @@ Result bound exceeded | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-discovery

Result bound exceeded

-

The complete Discovery result exceeds its configured bound.

-

https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded

+

The complete Discovery result exceeds its configured bound.

+

https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-discovery/result-bound-exceeded
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-discovery
Coderesult-bound-exceeded
Categorynot published
Categorynot published
HTTP statuses422

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded",
   "type": "https://id.registrystack.org/problems/registry-discovery/result-bound-exceeded",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-discovery/unavailable/index.html b/public/problems/registry-discovery/unavailable/index.html index 161337e..4185b05 100644 --- a/public/problems/registry-discovery/unavailable/index.html +++ b/public/problems/registry-discovery/unavailable/index.html @@ -4,68 +4,76 @@ Unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-discovery

Unavailable

-

Registry Discovery is temporarily unavailable.

-

https://id.registrystack.org/problems/registry-discovery/unavailable

+

Registry Discovery is temporarily unavailable.

+

https://id.registrystack.org/problems/registry-discovery/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-discovery/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1alpha1
Productregistry-discovery
Codeunavailable
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-discovery/unavailable",
   "type": "https://id.registrystack.org/problems/registry-discovery/unavailable",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "119d013635a62cb0d6cc38a81a7bc03d6a58371fa882180bbfd37847c65e6364" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/auth/invalid_credential/index.html b/public/problems/registry-evidence/auth/invalid_credential/index.html index d479129..e7132af 100644 --- a/public/problems/registry-evidence/auth/invalid_credential/index.html +++ b/public/problems/registry-evidence/auth/invalid_credential/index.html @@ -4,68 +4,76 @@ Bearer access token is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Bearer access token is invalid

-

bearer access token validation failed

-

https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential

+

bearer access token validation failed

+

https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/auth/invalid_credential
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codeauth.invalid_credential
Categorynot published
Categorynot published
HTTP statuses401

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential",
   "type": "https://id.registrystack.org/problems/registry-evidence/auth/invalid_credential",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/evidence/denied/index.html b/public/problems/registry-evidence/evidence/denied/index.html index 9d74ecf..129ddd0 100644 --- a/public/problems/registry-evidence/evidence/denied/index.html +++ b/public/problems/registry-evidence/evidence/denied/index.html @@ -4,68 +4,76 @@ Evidence request is not permitted | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Evidence request is not permitted

-

the Evidence request is not permitted

-

https://id.registrystack.org/problems/registry-evidence/evidence/denied

+

the Evidence request is not permitted

+

https://id.registrystack.org/problems/registry-evidence/evidence/denied

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/evidence/denied
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codeevidence.denied
Categorynot published
Categorynot published
HTTP statuses403

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/evidence/denied",
   "type": "https://id.registrystack.org/problems/registry-evidence/evidence/denied",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/evidence/invalid_request/index.html b/public/problems/registry-evidence/evidence/invalid_request/index.html index 6a063c0..52572fc 100644 --- a/public/problems/registry-evidence/evidence/invalid_request/index.html +++ b/public/problems/registry-evidence/evidence/invalid_request/index.html @@ -4,68 +4,76 @@ Evidence request is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Evidence request is invalid

-

the Evidence request is invalid

-

https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request

+

the Evidence request is invalid

+

https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/evidence/invalid_request
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codeevidence.invalid_request
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request",
   "type": "https://id.registrystack.org/problems/registry-evidence/evidence/invalid_request",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/evidence/rate_limited/index.html b/public/problems/registry-evidence/evidence/rate_limited/index.html index 9ae278b..d5ec765 100644 --- a/public/problems/registry-evidence/evidence/rate_limited/index.html +++ b/public/problems/registry-evidence/evidence/rate_limited/index.html @@ -4,68 +4,76 @@ Evidence request rate is exhausted | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Evidence request rate is exhausted

-

the Evidence request rate is exhausted

-

https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited

+

the Evidence request rate is exhausted

+

https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/evidence/rate_limited
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codeevidence.rate_limited
Categorynot published
Categorynot published
HTTP statuses429

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited",
   "type": "https://id.registrystack.org/problems/registry-evidence/evidence/rate_limited",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/evidence/unavailable/index.html b/public/problems/registry-evidence/evidence/unavailable/index.html index d0d5868..78da259 100644 --- a/public/problems/registry-evidence/evidence/unavailable/index.html +++ b/public/problems/registry-evidence/evidence/unavailable/index.html @@ -4,68 +4,76 @@ Evidence could not be produced | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Evidence could not be produced

-

evidence could not be produced for this request

-

https://id.registrystack.org/problems/registry-evidence/evidence/unavailable

+

evidence could not be produced for this request

+

https://id.registrystack.org/problems/registry-evidence/evidence/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/evidence/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codeevidence.unavailable
Categorynot published
Categorynot published
HTTP statuses422

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/evidence/unavailable",
   "type": "https://id.registrystack.org/problems/registry-evidence/evidence/unavailable",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/format/unsupported/index.html b/public/problems/registry-evidence/format/unsupported/index.html index c50c08f..c265fe9 100644 --- a/public/problems/registry-evidence/format/unsupported/index.html +++ b/public/problems/registry-evidence/format/unsupported/index.html @@ -4,68 +4,76 @@ Requested format is not supported | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Requested format is not supported

-

the requested format is not supported

-

https://id.registrystack.org/problems/registry-evidence/format/unsupported

+

the requested format is not supported

+

https://id.registrystack.org/problems/registry-evidence/format/unsupported

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/format/unsupported
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codeformat.unsupported
Categorynot published
Categorynot published
HTTP statuses406

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/format/unsupported",
   "type": "https://id.registrystack.org/problems/registry-evidence/format/unsupported",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/request/selector_invalid/index.html b/public/problems/registry-evidence/request/selector_invalid/index.html index c6e90f7..fdcdccc 100644 --- a/public/problems/registry-evidence/request/selector_invalid/index.html +++ b/public/problems/registry-evidence/request/selector_invalid/index.html @@ -4,68 +4,76 @@ Selector is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Selector is invalid

-

selector does not match an available request profile

-

https://id.registrystack.org/problems/registry-evidence/request/selector_invalid

+

selector does not match an available request profile

+

https://id.registrystack.org/problems/registry-evidence/request/selector_invalid

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/request/selector_invalid
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Coderequest.selector_invalid
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/request/selector_invalid",
   "type": "https://id.registrystack.org/problems/registry-evidence/request/selector_invalid",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/resource/not_found/index.html b/public/problems/registry-evidence/resource/not_found/index.html index 9d519e0..9c3c579 100644 --- a/public/problems/registry-evidence/resource/not_found/index.html +++ b/public/problems/registry-evidence/resource/not_found/index.html @@ -4,68 +4,76 @@ Requested resource was not found | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Requested resource was not found

-

the requested resource was not found

-

https://id.registrystack.org/problems/registry-evidence/resource/not_found

+

the requested resource was not found

+

https://id.registrystack.org/problems/registry-evidence/resource/not_found

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/resource/not_found
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Coderesource.not_found
Categorynot published
Categorynot published
HTTP statuses404

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/resource/not_found",
   "type": "https://id.registrystack.org/problems/registry-evidence/resource/not_found",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/service/unavailable/index.html b/public/problems/registry-evidence/service/unavailable/index.html index 0cf18f3..fa1432f 100644 --- a/public/problems/registry-evidence/service/unavailable/index.html +++ b/public/problems/registry-evidence/service/unavailable/index.html @@ -4,68 +4,76 @@ Service is unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Service is unavailable

-

the request could not be served

-

https://id.registrystack.org/problems/registry-evidence/service/unavailable

+

the request could not be served

+

https://id.registrystack.org/problems/registry-evidence/service/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/service/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codeservice.unavailable
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/service/unavailable",
   "type": "https://id.registrystack.org/problems/registry-evidence/service/unavailable",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-evidence/source/unavailable/index.html b/public/problems/registry-evidence/source/unavailable/index.html index bc1438f..4bf3cd3 100644 --- a/public/problems/registry-evidence/source/unavailable/index.html +++ b/public/problems/registry-evidence/source/unavailable/index.html @@ -4,68 +4,76 @@ Authoritative source is unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-evidence

Authoritative source is unavailable

-

the authoritative source is unavailable

-

https://id.registrystack.org/problems/registry-evidence/source/unavailable

+

the authoritative source is unavailable

+

https://id.registrystack.org/problems/registry-evidence/source/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-evidence/source/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linev1
Productregistry-evidence
Codesource.unavailable
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-evidence/source/unavailable",
   "type": "https://id.registrystack.org/problems/registry-evidence/source/unavailable",
   "kind": "problem",
@@ -109,7 +117,41 @@ 

Problem record

"sha256": "46c3ce311600915b57c09bad2a45caaf67d63f84656f5e863795a8ef0372ba9c" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/aggregate-data/denied/index.html b/public/problems/registry-relay/aggregate-data/denied/index.html index cec8a3f..42ef977 100644 --- a/public/problems/registry-relay/aggregate-data/denied/index.html +++ b/public/problems/registry-relay/aggregate-data/denied/index.html @@ -4,51 +4,58 @@ Aggregate data access is not permitted | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Aggregate data access is not permitted

-

aggregate data access is not permitted

-

https://id.registrystack.org/problems/registry-relay/aggregate-data/denied

+

aggregate data access is not permitted

+

https://id.registrystack.org/problems/registry-relay/aggregate-data/denied

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/aggregate-data/denied
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeaggregate-data.denied
Categorynot published
Categorynot published
HTTP statuses403

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/denied",
   "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/denied",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 e201369..aa49c4d 100644 --- a/public/problems/registry-relay/aggregate-data/invalid_request/index.html +++ b/public/problems/registry-relay/aggregate-data/invalid_request/index.html @@ -4,51 +4,58 @@ Aggregate data request is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Aggregate data request is invalid

-

the aggregate data request is invalid

-

https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request

+

the aggregate data request is invalid

+

https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeaggregate-data.invalid_request
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request",
   "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/invalid_request",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 f8447a8..2090dda 100644 --- a/public/problems/registry-relay/aggregate-data/rate_limited/index.html +++ b/public/problems/registry-relay/aggregate-data/rate_limited/index.html @@ -4,51 +4,58 @@ Aggregate data quota is exhausted | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Aggregate data quota is exhausted

-

the aggregate data quota is exhausted

-

https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited

+

the aggregate data quota is exhausted

+

https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeaggregate-data.rate_limited
Categorynot published
Categorynot published
HTTP statuses429

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited",
   "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/rate_limited",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 3cdc6ad..0b7ecee 100644 --- a/public/problems/registry-relay/aggregate-data/too_large/index.html +++ b/public/problems/registry-relay/aggregate-data/too_large/index.html @@ -4,51 +4,58 @@ Aggregate data request is too broad | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Aggregate data request is too broad

-

the aggregate data request exceeds its observation limit

-

https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large

+

the aggregate data request exceeds its observation limit

+

https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/aggregate-data/too_large
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeaggregate-data.too_large
Categorynot published
Categorynot published
HTTP statuses413

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large",
   "type": "https://id.registrystack.org/problems/registry-relay/aggregate-data/too_large",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/audit/unavailable/index.html b/public/problems/registry-relay/audit/unavailable/index.html index c50467a..3f90f08 100644 --- a/public/problems/registry-relay/audit/unavailable/index.html +++ b/public/problems/registry-relay/audit/unavailable/index.html @@ -4,51 +4,58 @@ Required audit is unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Required audit is unavailable

-

required audit is unavailable

-

https://id.registrystack.org/problems/registry-relay/audit/unavailable

+

required audit is unavailable

+

https://id.registrystack.org/problems/registry-relay/audit/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/audit/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeaudit.unavailable
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/audit/unavailable",
   "type": "https://id.registrystack.org/problems/registry-relay/audit/unavailable",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/auth/invalid_credential/index.html b/public/problems/registry-relay/auth/invalid_credential/index.html index bd9de5f..ae0ebc3 100644 --- a/public/problems/registry-relay/auth/invalid_credential/index.html +++ b/public/problems/registry-relay/auth/invalid_credential/index.html @@ -4,51 +4,58 @@ Bearer access token is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Bearer access token is invalid

-

bearer access token validation failed

-

https://id.registrystack.org/problems/registry-relay/auth/invalid_credential

+

bearer access token validation failed

+

https://id.registrystack.org/problems/registry-relay/auth/invalid_credential

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/auth/invalid_credential
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeauth.invalid_credential
Categorynot published
Categorynot published
HTTP statuses401

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/auth/invalid_credential",
   "type": "https://id.registrystack.org/problems/registry-relay/auth/invalid_credential",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/auth/missing_credential/index.html b/public/problems/registry-relay/auth/missing_credential/index.html index b6855ea..2f9ccf7 100644 --- a/public/problems/registry-relay/auth/missing_credential/index.html +++ b/public/problems/registry-relay/auth/missing_credential/index.html @@ -4,51 +4,58 @@ Bearer access token is required | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Bearer access token is required

-

a bearer access token is required

-

https://id.registrystack.org/problems/registry-relay/auth/missing_credential

+

a bearer access token is required

+

https://id.registrystack.org/problems/registry-relay/auth/missing_credential

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/auth/missing_credential
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeauth.missing_credential
Categorynot published
Categorynot published
HTTP statuses401

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/auth/missing_credential",
   "type": "https://id.registrystack.org/problems/registry-relay/auth/missing_credential",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/consultation/denied/index.html b/public/problems/registry-relay/consultation/denied/index.html index e5b53a1..5fe06b6 100644 --- a/public/problems/registry-relay/consultation/denied/index.html +++ b/public/problems/registry-relay/consultation/denied/index.html @@ -4,51 +4,58 @@ Consultation is not permitted | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Consultation is not permitted

-

the consultation is not permitted

-

https://id.registrystack.org/problems/registry-relay/consultation/denied

+

the consultation is not permitted

+

https://id.registrystack.org/problems/registry-relay/consultation/denied

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/consultation/denied
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeconsultation.denied
Categorynot published
Categorynot published
HTTP statuses403

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/consultation/denied",
   "type": "https://id.registrystack.org/problems/registry-relay/consultation/denied",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/consultation/invalid_request/index.html b/public/problems/registry-relay/consultation/invalid_request/index.html index 0939714..c0ce406 100644 --- a/public/problems/registry-relay/consultation/invalid_request/index.html +++ b/public/problems/registry-relay/consultation/invalid_request/index.html @@ -4,51 +4,58 @@ Consultation request is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Consultation request is invalid

-

the consultation request is invalid

-

https://id.registrystack.org/problems/registry-relay/consultation/invalid_request

+

the consultation request is invalid

+

https://id.registrystack.org/problems/registry-relay/consultation/invalid_request

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/consultation/invalid_request
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeconsultation.invalid_request
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/consultation/invalid_request",
   "type": "https://id.registrystack.org/problems/registry-relay/consultation/invalid_request",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/consultation/rate_limited/index.html b/public/problems/registry-relay/consultation/rate_limited/index.html index de2c542..75ad2b2 100644 --- a/public/problems/registry-relay/consultation/rate_limited/index.html +++ b/public/problems/registry-relay/consultation/rate_limited/index.html @@ -4,51 +4,58 @@ Consultation quota is exhausted | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Consultation quota is exhausted

-

the consultation quota is exhausted

-

https://id.registrystack.org/problems/registry-relay/consultation/rate_limited

+

the consultation quota is exhausted

+

https://id.registrystack.org/problems/registry-relay/consultation/rate_limited

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/consultation/rate_limited
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeconsultation.rate_limited
Categorynot published
Categorynot published
HTTP statuses429

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/consultation/rate_limited",
   "type": "https://id.registrystack.org/problems/registry-relay/consultation/rate_limited",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 c330503..1bc346d 100644 --- a/public/problems/registry-relay/consultation/response_too_large/index.html +++ b/public/problems/registry-relay/consultation/response_too_large/index.html @@ -4,51 +4,58 @@ Consultation response is too large | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Consultation response is too large

-

the consultation response exceeds the configured limit

-

https://id.registrystack.org/problems/registry-relay/consultation/response_too_large

+

the consultation response exceeds the configured limit

+

https://id.registrystack.org/problems/registry-relay/consultation/response_too_large

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/consultation/response_too_large
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeconsultation.response_too_large
Categorynot published
Categorynot published
HTTP statuses413

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/consultation/response_too_large",
   "type": "https://id.registrystack.org/problems/registry-relay/consultation/response_too_large",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/consultation/unresolved/index.html b/public/problems/registry-relay/consultation/unresolved/index.html index 32182d0..053d0c9 100644 --- a/public/problems/registry-relay/consultation/unresolved/index.html +++ b/public/problems/registry-relay/consultation/unresolved/index.html @@ -4,51 +4,58 @@ Requested record was not resolved | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Requested record was not resolved

-

the requested record was not resolved

-

https://id.registrystack.org/problems/registry-relay/consultation/unresolved

+

the requested record was not resolved

+

https://id.registrystack.org/problems/registry-relay/consultation/unresolved

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/consultation/unresolved
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeconsultation.unresolved
Categorynot published
Categorynot published
HTTP statuses404

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/consultation/unresolved",
   "type": "https://id.registrystack.org/problems/registry-relay/consultation/unresolved",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/filter/invalid_value/index.html b/public/problems/registry-relay/filter/invalid_value/index.html index 3d681c5..bd85681 100644 --- a/public/problems/registry-relay/filter/invalid_value/index.html +++ b/public/problems/registry-relay/filter/invalid_value/index.html @@ -4,51 +4,58 @@ Filter value is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Filter value is invalid

-

filter value is invalid

-

https://id.registrystack.org/problems/registry-relay/filter/invalid_value

+

filter value is invalid

+

https://id.registrystack.org/problems/registry-relay/filter/invalid_value

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/filter/invalid_value
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codefilter.invalid_value
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/filter/invalid_value",
   "type": "https://id.registrystack.org/problems/registry-relay/filter/invalid_value",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/filter/unknown_field/index.html b/public/problems/registry-relay/filter/unknown_field/index.html index 3eaf8d0..3c631b4 100644 --- a/public/problems/registry-relay/filter/unknown_field/index.html +++ b/public/problems/registry-relay/filter/unknown_field/index.html @@ -4,51 +4,58 @@ Filter is not declared | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Filter is not declared

-

filter is not declared for this operation

-

https://id.registrystack.org/problems/registry-relay/filter/unknown_field

+

filter is not declared for this operation

+

https://id.registrystack.org/problems/registry-relay/filter/unknown_field

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/filter/unknown_field
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codefilter.unknown_field
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/filter/unknown_field",
   "type": "https://id.registrystack.org/problems/registry-relay/filter/unknown_field",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/format/unsupported/index.html b/public/problems/registry-relay/format/unsupported/index.html index 7a346b4..dd49d64 100644 --- a/public/problems/registry-relay/format/unsupported/index.html +++ b/public/problems/registry-relay/format/unsupported/index.html @@ -4,51 +4,58 @@ Requested format is not supported | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Requested format is not supported

-

the requested format is not supported

-

https://id.registrystack.org/problems/registry-relay/format/unsupported

+

the requested format is not supported

+

https://id.registrystack.org/problems/registry-relay/format/unsupported

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/format/unsupported
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeformat.unsupported
Categorynot published
Categorynot published
HTTP statuses406

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/format/unsupported",
   "type": "https://id.registrystack.org/problems/registry-relay/format/unsupported",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 45671ad..9a50c98 100644 --- a/public/problems/registry-relay/internal/payload_too_large/index.html +++ b/public/problems/registry-relay/internal/payload_too_large/index.html @@ -4,51 +4,58 @@ Request body is too large | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Request body is too large

-

request body exceeds the configured limit

-

https://id.registrystack.org/problems/registry-relay/internal/payload_too_large

+

request body exceeds the configured limit

+

https://id.registrystack.org/problems/registry-relay/internal/payload_too_large

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/internal/payload_too_large
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeinternal.payload_too_large
Categorynot published
Categorynot published
HTTP statuses413

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/internal/payload_too_large",
   "type": "https://id.registrystack.org/problems/registry-relay/internal/payload_too_large",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/internal/timeout/index.html b/public/problems/registry-relay/internal/timeout/index.html index 3e903be..141b320 100644 --- a/public/problems/registry-relay/internal/timeout/index.html +++ b/public/problems/registry-relay/internal/timeout/index.html @@ -4,51 +4,58 @@ Request timed out | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Request timed out

-

request exceeded the configured timeout

-

https://id.registrystack.org/problems/registry-relay/internal/timeout

+

request exceeded the configured timeout

+

https://id.registrystack.org/problems/registry-relay/internal/timeout

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/internal/timeout
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeinternal.timeout
Categorynot published
Categorynot published
HTTP statuses504

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/internal/timeout",
   "type": "https://id.registrystack.org/problems/registry-relay/internal/timeout",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/internal/unhandled/index.html b/public/problems/registry-relay/internal/unhandled/index.html index 34ee95a..48c5b05 100644 --- a/public/problems/registry-relay/internal/unhandled/index.html +++ b/public/problems/registry-relay/internal/unhandled/index.html @@ -4,51 +4,58 @@ Request could not be served | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Request could not be served

-

the request could not be served

-

https://id.registrystack.org/problems/registry-relay/internal/unhandled

+

the request could not be served

+

https://id.registrystack.org/problems/registry-relay/internal/unhandled

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/internal/unhandled
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeinternal.unhandled
Categorynot published
Categorynot published
HTTP statuses500

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/internal/unhandled",
   "type": "https://id.registrystack.org/problems/registry-relay/internal/unhandled",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 c37839a..aee6d4e 100644 --- a/public/problems/registry-relay/internal/uri_too_long/index.html +++ b/public/problems/registry-relay/internal/uri_too_long/index.html @@ -4,51 +4,58 @@ Request URI is too long | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Request URI is too long

-

request URI exceeds the configured limit

-

https://id.registrystack.org/problems/registry-relay/internal/uri_too_long

+

request URI exceeds the configured limit

+

https://id.registrystack.org/problems/registry-relay/internal/uri_too_long

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/internal/uri_too_long
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeinternal.uri_too_long
Categorynot published
Categorynot published
HTTP statuses414

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/internal/uri_too_long",
   "type": "https://id.registrystack.org/problems/registry-relay/internal/uri_too_long",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/query/cursor_invalid/index.html b/public/problems/registry-relay/query/cursor_invalid/index.html index b897f20..188e495 100644 --- a/public/problems/registry-relay/query/cursor_invalid/index.html +++ b/public/problems/registry-relay/query/cursor_invalid/index.html @@ -4,51 +4,58 @@ Cursor is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Cursor is invalid

-

cursor is invalid for this query

-

https://id.registrystack.org/problems/registry-relay/query/cursor_invalid

+

cursor is invalid for this query

+

https://id.registrystack.org/problems/registry-relay/query/cursor_invalid

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/query/cursor_invalid
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codequery.cursor_invalid
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/query/cursor_invalid",
   "type": "https://id.registrystack.org/problems/registry-relay/query/cursor_invalid",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 7928c8a..0ee71a6 100644 --- a/public/problems/registry-relay/request/access_profile_invalid/index.html +++ b/public/problems/registry-relay/request/access_profile_invalid/index.html @@ -4,51 +4,58 @@ Access profile selection is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Access profile selection is invalid

-

access profile selection is invalid

-

https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid

+

access profile selection is invalid

+

https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/request/access_profile_invalid
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Coderequest.access_profile_invalid
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid",
   "type": "https://id.registrystack.org/problems/registry-relay/request/access_profile_invalid",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/request/fields_invalid/index.html b/public/problems/registry-relay/request/fields_invalid/index.html index f5bdd61..7f50024 100644 --- a/public/problems/registry-relay/request/fields_invalid/index.html +++ b/public/problems/registry-relay/request/fields_invalid/index.html @@ -4,51 +4,58 @@ Field selection is invalid | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Field selection is invalid

-

field selection is invalid

-

https://id.registrystack.org/problems/registry-relay/request/fields_invalid

+

field selection is invalid

+

https://id.registrystack.org/problems/registry-relay/request/fields_invalid

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/request/fields_invalid
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Coderequest.fields_invalid
Categorynot published
Categorynot published
HTTP statuses400

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/request/fields_invalid",
   "type": "https://id.registrystack.org/problems/registry-relay/request/fields_invalid",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + 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 494b78a..f3e0848 100644 --- a/public/problems/registry-relay/request/media_type_unsupported/index.html +++ b/public/problems/registry-relay/request/media_type_unsupported/index.html @@ -4,51 +4,58 @@ Request media type is not supported | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Request media type is not supported

-

request body must use application/json

-

https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported

+

request body must use application/json

+

https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/request/media_type_unsupported
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Coderequest.media_type_unsupported
Categorynot published
Categorynot published
HTTP statuses415

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported",
   "type": "https://id.registrystack.org/problems/registry-relay/request/media_type_unsupported",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/resource/not_found/index.html b/public/problems/registry-relay/resource/not_found/index.html index 15ae4e7..3fd1ecf 100644 --- a/public/problems/registry-relay/resource/not_found/index.html +++ b/public/problems/registry-relay/resource/not_found/index.html @@ -4,51 +4,58 @@ Requested resource was not found | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Requested resource was not found

-

the requested resource was not found

-

https://id.registrystack.org/problems/registry-relay/resource/not_found

+

the requested resource was not found

+

https://id.registrystack.org/problems/registry-relay/resource/not_found

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/resource/not_found
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Coderesource.not_found
Categorynot published
Categorynot published
HTTP statuses404

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/resource/not_found",
   "type": "https://id.registrystack.org/problems/registry-relay/resource/not_found",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/service/not_ready/index.html b/public/problems/registry-relay/service/not_ready/index.html index 23b6da1..a0ed25d 100644 --- a/public/problems/registry-relay/service/not_ready/index.html +++ b/public/problems/registry-relay/service/not_ready/index.html @@ -4,51 +4,58 @@ Service is not ready | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Service is not ready

-

the service is not ready

-

https://id.registrystack.org/problems/registry-relay/service/not_ready

+

the service is not ready

+

https://id.registrystack.org/problems/registry-relay/service/not_ready

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/service/not_ready
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codeservice.not_ready
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/service/not_ready",
   "type": "https://id.registrystack.org/problems/registry-relay/service/not_ready",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/problems/registry-relay/source/unavailable/index.html b/public/problems/registry-relay/source/unavailable/index.html index 982d8b4..37517fb 100644 --- a/public/problems/registry-relay/source/unavailable/index.html +++ b/public/problems/registry-relay/source/unavailable/index.html @@ -4,51 +4,58 @@ Authoritative source is unavailable | Registry Stack identifiers - + + + -
+ +
+
+

Problem type · registry-relay

Authoritative source is unavailable

-

the authoritative source is unavailable

-

https://id.registrystack.org/problems/registry-relay/source/unavailable

+

the authoritative source is unavailable

+

https://id.registrystack.org/problems/registry-relay/source/unavailable

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for 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

- +

Defined facts

+
- + - +
Canonical URIhttps://id.registrystack.org/problems/registry-relay/source/unavailable
Kindproblem
Lifecycle statusactive
Lifecycle statusactive
Compatibility linerelay-v2
Productregistry-relay
Codesource.unavailable
Categorynot published
Categorynot published
HTTP statuses503

Documentation

-

Guidance

- +
- - - + + +
Guidance statusnot_published
Retryablenot published
Caller actionnot published
Operator actionnot published
Retryablenot published
Caller actionnot published
Operator actionnot published
NoteNo per-identifier remediation guidance is published in this resolver record.
-

Problem record

-
{
+    
+

Problem record

+
{
   "id": "https://id.registrystack.org/problems/registry-relay/source/unavailable",
   "type": "https://id.registrystack.org/problems/registry-relay/source/unavailable",
   "kind": "problem",
@@ -119,7 +127,41 @@ 

Problem record

"sha256": "9ea2dfbcd06be6f5c81bd2a09811f420df9120ee9133f03f95b07a65f99483d4" } }
-

Machine-readable JSON

-
+ + + + diff --git a/public/profiles/index.html b/public/profiles/index.html index 940a061..8db3d30 100644 --- a/public/profiles/index.html +++ b/public/profiles/index.html @@ -4,37 +4,80 @@ Profiles | Registry Stack identifiers - + + + -
+ +
+
+

Catalog

Profiles

-

Stable Registry Stack identifiers.

+

Stable Registry Stack identifiers.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

- +
+

1 published identifiers

+
- +
IdentifierTitleStatus
https://id.registrystack.org/profiles/registry-record/v1Registry Record v1 profileactive
https://id.registrystack.org/profiles/registry-record/v1Registry Record v1 profileactive
-
+ + + diff --git a/public/profiles/registry-record/v1.html b/public/profiles/registry-record/v1.html index 124ebee..a06b1c1 100644 --- a/public/profiles/registry-record/v1.html +++ b/public/profiles/registry-record/v1.html @@ -4,49 +4,93 @@ Registry Record v1 profile | Registry Stack identifiers - + + + -
+ +
+
+

Response profile

Registry Record v1 profile

-

https://id.registrystack.org/profiles/registry-record/v1

-

Open base response profile for one Registry record or a homogeneous Registry record collection.

+

Open base response profile for one Registry record or a homogeneous Registry record collection.

+

https://id.registrystack.org/profiles/registry-record/v1

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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 profile document itself.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev1
Ownerregistry-record
Artifact SHA-256f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/f165e62044df2129b5cc533d3199cf81ae23d263617f39437ee37be87d3b37fe.md
-

Documentation

-
+ + + + 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 7b1c920..5d15827 100644 --- a/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html +++ b/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html @@ -4,49 +4,93 @@ Base Registry Engine authored module | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Base Registry Engine authored module

-

https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json

-

Base Registry Engine project authoring JSON Schema.

+

Base Registry Engine project authoring JSON Schema.

+

https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.json

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev1alpha1
Ownerbreg
Artifact SHA-2566b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/6b660ca268062996a138839051ba35b306673f1720256b40419f48a7abb1c44f.json
-

Documentation

-
+ + + + 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 e7967b7..7deab79 100644 --- a/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html +++ b/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html @@ -4,49 +4,93 @@ Base Registry Engine authored project | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Base Registry Engine authored project

-

https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json

-

Base Registry Engine project authoring JSON Schema.

+

Base Registry Engine project authoring JSON Schema.

+

https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.json

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev1alpha1
Ownerbreg
Artifact SHA-256f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/f9724862a5922f80ae7b5ea9b87082697274cf79df29c950b2f2221c941f9a9e.json
-

Documentation

-
+ + + + diff --git a/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html b/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html index 13e848a..30da2cb 100644 --- a/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html +++ b/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html @@ -4,49 +4,93 @@ Base Registry Engine runtime configuration | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Base Registry Engine runtime configuration

-

https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json

-

Base Registry Engine runtime configuration JSON Schema.

+

Base Registry Engine runtime configuration JSON Schema.

+

https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.json

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev1alpha1
Ownerbreg
Artifact SHA-25676bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/76bab2f49eef78995b5df8cf21d45a179cdfc9842041a0d7f0b291fc6d632c1d.json
-

Documentation

-
+ + + + diff --git a/public/schemas/identifiers/catalog.v1.schema/index.html b/public/schemas/identifiers/catalog.v1.schema/index.html index b533531..50ad419 100644 --- a/public/schemas/identifiers/catalog.v1.schema/index.html +++ b/public/schemas/identifiers/catalog.v1.schema/index.html @@ -4,49 +4,93 @@ Registry Stack identifier catalog v1 | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Registry Stack identifier catalog v1

-

https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json

-

JSON Schema for the Registry Stack identifier catalog.

+

JSON Schema for the Registry Stack identifier catalog.

+

https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.json

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev1
Owneridentifiers
Artifact SHA-256e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/e45632976b2436dc468805b78e6ac35d4cb05340b260370d011eee68fcf28c5d.json
-

Documentation

-
+ + + + diff --git a/public/schemas/index.html b/public/schemas/index.html index 6452cbe..fb4bd74 100644 --- a/public/schemas/index.html +++ b/public/schemas/index.html @@ -4,44 +4,87 @@ Schemas | Registry Stack identifiers - + + + -
+ +
+
+

Catalog

Schemas

-

Stable Registry Stack identifiers.

+

Stable Registry Stack identifiers.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

- +
+

8 published identifiers

+
- - - - - - - - + + + + + + + +
IdentifierTitleStatus
https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.jsonBase Registry Engine authored moduleactive
https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.jsonBase Registry Engine authored projectactive
https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.jsonBase Registry Engine runtime configurationactive
https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.jsonRegistry Stack identifier catalog v1active
https://id.registrystack.org/schemas/registry-record/v1Registry Record v1 base responseactive
https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1Registry Relay value-free audit eventactive
https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.jsonRelay V2 governed Registry contractactive
https://id.registrystack.org/schemas/registry-relay/authoring/runtime.v2alpha1.schema.jsonRelay V2 deployment bindingactive
https://id.registrystack.org/schemas/breg/authoring/registry-module.v1alpha1.schema.jsonBase Registry Engine authored moduleactive
https://id.registrystack.org/schemas/breg/authoring/registry-project.v1alpha1.schema.jsonBase Registry Engine authored projectactive
https://id.registrystack.org/schemas/breg/runtime/runtime.v1alpha1.schema.jsonBase Registry Engine runtime configurationactive
https://id.registrystack.org/schemas/identifiers/catalog.v1.schema.jsonRegistry Stack identifier catalog v1active
https://id.registrystack.org/schemas/registry-record/v1Registry Record v1 base responseactive
https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1Registry Relay value-free audit eventactive
https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.jsonRelay V2 governed Registry contractactive
https://id.registrystack.org/schemas/registry-relay/authoring/runtime.v2alpha1.schema.jsonRelay V2 deployment bindingactive
-
+ + + diff --git a/public/schemas/registry-record/v1.html b/public/schemas/registry-record/v1.html index debe010..29bfc76 100644 --- a/public/schemas/registry-record/v1.html +++ b/public/schemas/registry-record/v1.html @@ -4,49 +4,93 @@ Registry Record v1 base response | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Registry Record v1 base response

-

https://id.registrystack.org/schemas/registry-record/v1

-

Registry Record base response profile JSON Schema.

+

Registry Record base response profile JSON Schema.

+

https://id.registrystack.org/schemas/registry-record/v1

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev1
Ownerregistry-record
Artifact SHA-25631cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/31cae7de9e84904e300d0d77ffbfdfc7a1de6127719a0ccbb3f6a88d7306510e.json
-

Documentation

-
+ + + + diff --git a/public/schemas/registry-relay/audit-event/v2alpha1.html b/public/schemas/registry-relay/audit-event/v2alpha1.html index 15d922b..b503d59 100644 --- a/public/schemas/registry-relay/audit-event/v2alpha1.html +++ b/public/schemas/registry-relay/audit-event/v2alpha1.html @@ -4,51 +4,95 @@ Registry Relay value-free audit event | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Registry Relay value-free audit event

-

https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1

-

Relay V2 generated public JSON Schema.

+

Relay V2 generated public JSON Schema.

+

https://id.registrystack.org/schemas/registry-relay/audit-event/v2alpha1

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev2alpha1
Ownerrelay-v2
Artifact SHA-256e2b2be3baabb1c5f147a4095eade0d85702d814ec93049b62208fdd7ab1265b8
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/e2b2be3baabb1c5f147a4095eade0d85702d814ec93049b62208fdd7ab1265b8.json
-

Documentation

-
+ + + + diff --git a/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html b/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html index c983929..c94f212 100644 --- a/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html +++ b/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html @@ -4,51 +4,95 @@ Relay V2 governed Registry contract | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Relay V2 governed Registry contract

-

https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.json

-

Relay V2 authoring JSON Schema.

+

Relay V2 authoring JSON Schema.

+

https://id.registrystack.org/schemas/registry-relay/authoring/registry.v2alpha1.schema.json

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev2alpha1
Ownerrelay-v2
Artifact SHA-256c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/c030917d19b1f50c8d2b41fc7b2ef4fb07b803b5fa98ffd971f5c964f491f7e5.json
-

Documentation

-
+ + + + diff --git a/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html b/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html index 952a78d..28187ba 100644 --- a/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html +++ b/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html @@ -4,51 +4,95 @@ Relay V2 deployment binding | Registry Stack identifiers - + + + -
+ +
+
+

JSON Schema

Relay V2 deployment binding

-

https://id.registrystack.org/schemas/registry-relay/authoring/runtime.v2alpha1.schema.json

-

Relay V2 authoring JSON Schema.

+

Relay V2 authoring JSON Schema.

+

https://id.registrystack.org/schemas/registry-relay/authoring/runtime.v2alpha1.schema.json

+
+
+
-

Authority Boundary

+

Authority boundary

This site 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.

-

Lifecycle

- +
+

Lifecycle

+
- +
Statusactive
Statusactive
Compatibility linev2alpha1
Ownerrelay-v2
Artifact SHA-2569beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b
Immutable artifacthttps://id.registrystack.org/artifacts/sha256/9beeda053e86d8ffa67755e91883efd0d2205026ee7d0aa7f38cecef7a6f781b.json
-

Documentation

-
+ + + + diff --git a/public/vocab/codelist/index.html b/public/vocab/codelist/index.html index 0c958c6..950f71c 100644 --- a/public/vocab/codelist/index.html +++ b/public/vocab/codelist/index.html @@ -4,48 +4,60 @@ Codelist | Registry Stack identifiers - + + + -
+ +
+
+

Vocabulary term

Codelist

-

https://id.registrystack.org/vocab/codelist

-

Relay V2 Registry Core predicate binding a controlled property to its codelist.

+

Relay V2 Registry Core predicate binding a controlled property to its codelist.

+

https://id.registrystack.org/vocab/codelist

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindvocabulary-term
Statusactive
KindVocabulary term
Statusactive
Compatibility linerelay-v2
Ownerrelay-v2
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/vocab/codelist",
       "title": "Codelist",
       "description": "Relay V2 Registry Core predicate binding a controlled property to its codelist.",
    @@ -75,7 +87,41 @@ 

    Identifier record

    "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/vocab/coordinateReferenceSystem/index.html b/public/vocab/coordinateReferenceSystem/index.html index 0579631..6593f95 100644 --- a/public/vocab/coordinateReferenceSystem/index.html +++ b/public/vocab/coordinateReferenceSystem/index.html @@ -4,48 +4,60 @@ Coordinate reference system | Registry Stack identifiers - + + + -
+ +
+
+

Vocabulary term

Coordinate reference system

-

https://id.registrystack.org/vocab/coordinateReferenceSystem

-

Relay V2 Registry Core predicate identifying a spatial property's coordinate reference system.

+

Relay V2 Registry Core predicate identifying a spatial property's coordinate reference system.

+

https://id.registrystack.org/vocab/coordinateReferenceSystem

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindvocabulary-term
Statusactive
KindVocabulary term
Statusactive
Compatibility linerelay-v2
Ownerrelay-v2
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/vocab/coordinateReferenceSystem",
       "title": "Coordinate reference system",
       "description": "Relay V2 Registry Core predicate identifying a spatial property's coordinate reference system.",
    @@ -75,7 +87,41 @@ 

    Identifier record

    "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/vocab/core/index.html b/public/vocab/core/index.html index e789dfe..7554a0a 100644 --- a/public/vocab/core/index.html +++ b/public/vocab/core/index.html @@ -4,49 +4,61 @@ Registry Relay core vocabulary | Registry Stack identifiers - + + + -
+ +
+
+

Vocabulary

Registry Relay core vocabulary

-

https://id.registrystack.org/vocab/core/

-

Vocabulary base for Relay V2 Registry Core semantic predicates.

+

Vocabulary base for Relay V2 Registry Core semantic predicates.

+

https://id.registrystack.org/vocab/core/

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindvocabulary
Statusactive
KindVocabulary
Statusactive
Compatibility linerelay-v2
Ownerrelay-v2
Child termsAdopter-defined; successful resolution is not Registry Stack registration or review.
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/vocab/core/",
       "title": "Registry Relay core vocabulary",
       "description": "Vocabulary base for Relay V2 Registry Core semantic predicates.",
    @@ -81,7 +93,41 @@ 

    Identifier record

    "statement": "Resolving a child URI under this vocabulary does not register or review that adopter-defined term." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/vocab/geometryType/index.html b/public/vocab/geometryType/index.html index 8c9312f..fe90aa0 100644 --- a/public/vocab/geometryType/index.html +++ b/public/vocab/geometryType/index.html @@ -4,48 +4,60 @@ Geometry type | Registry Stack identifiers - + + + -
+ +
+
+

Vocabulary term

Geometry type

-

https://id.registrystack.org/vocab/geometryType

-

Relay V2 Registry Core predicate identifying a spatial property's geometry type.

+

Relay V2 Registry Core predicate identifying a spatial property's geometry type.

+

https://id.registrystack.org/vocab/geometryType

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindvocabulary-term
Statusactive
KindVocabulary term
Statusactive
Compatibility linerelay-v2
Ownerrelay-v2
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/vocab/geometryType",
       "title": "Geometry type",
       "description": "Relay V2 Registry Core predicate identifying a spatial property's geometry type.",
    @@ -75,7 +87,41 @@ 

    Identifier record

    "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/vocab/handling/index.html b/public/vocab/handling/index.html index ed4572f..f2d7c43 100644 --- a/public/vocab/handling/index.html +++ b/public/vocab/handling/index.html @@ -4,48 +4,60 @@ Registry Relay handling vocabulary | Registry Stack identifiers - + + + -
+ +
+
+

Vocabulary

Registry Relay handling vocabulary

-

https://id.registrystack.org/vocab/handling

-

Ordered Relay V2 technical handling levels: public, internal, confidential, and restricted.

+

Ordered Relay V2 technical handling levels: public, internal, confidential, and restricted.

+

https://id.registrystack.org/vocab/handling

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindvocabulary
Statusactive
KindVocabulary
Statusactive
Compatibility linerelay-v2
Ownerrelay-v2
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/vocab/handling",
       "title": "Registry Relay handling vocabulary",
       "description": "Ordered Relay V2 technical handling levels: public, internal, confidential, and restricted.",
    @@ -75,7 +87,41 @@ 

    Identifier record

    "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/vocab/registry-record/index.html b/public/vocab/registry-record/index.html index dabdc78..c44bd8b 100644 --- a/public/vocab/registry-record/index.html +++ b/public/vocab/registry-record/index.html @@ -4,48 +4,60 @@ Registry Record vocabulary | Registry Stack identifiers - + + + -
+ +
+
+

Vocabulary

Registry Record vocabulary

-

https://id.registrystack.org/vocab/registry-record/

-

Vocabulary base for Registry Record v1 response-profile terms.

+

Vocabulary base for Registry Record v1 response-profile terms.

+

https://id.registrystack.org/vocab/registry-record/

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindvocabulary
Statusactive
KindVocabulary
Statusactive
Compatibility linev1
Ownerregistry-record
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/vocab/registry-record/",
       "title": "Registry Record vocabulary",
       "description": "Vocabulary base for Registry Record v1 response-profile terms.",
    @@ -75,7 +87,41 @@ 

    Identifier record

    "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/vocab/sourceRequired/index.html b/public/vocab/sourceRequired/index.html index 691d207..9688dd7 100644 --- a/public/vocab/sourceRequired/index.html +++ b/public/vocab/sourceRequired/index.html @@ -4,48 +4,60 @@ Source required | Registry Stack identifiers - + + + -
+ +
+
+

Vocabulary term

Source required

-

https://id.registrystack.org/vocab/sourceRequired

-

Relay V2 Registry Core predicate indicating whether a source value is required.

+

Relay V2 Registry Core predicate indicating whether a source value is required.

+

https://id.registrystack.org/vocab/sourceRequired

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

-

Lifecycle

- +
+

Lifecycle

+
- - + +
Kindvocabulary-term
Statusactive
KindVocabulary term
Statusactive
Compatibility linerelay-v2
Ownerrelay-v2
-

Documentation

-
    + +
    +

    Documentation

    + -

    Identifier record

    -
    {
    +    
    +
    +

    Identifier record

    +
    {
       "uri": "https://id.registrystack.org/vocab/sourceRequired",
       "title": "Source required",
       "description": "Relay V2 Registry Core predicate indicating whether a source value is required.",
    @@ -75,7 +87,41 @@ 

    Identifier record

    "statement": "This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior." } }
    -

    Machine-readable JSON

    -
+ + + + diff --git a/public/vocabularies/index.html b/public/vocabularies/index.html index 66c7653..572f52a 100644 --- a/public/vocabularies/index.html +++ b/public/vocabularies/index.html @@ -4,43 +4,86 @@ Vocabularies | Registry Stack identifiers - + + + -
+ +
+
+

Catalog

Vocabularies

-

Stable Registry Stack identifiers.

+

Stable Registry Stack identifiers.

+
+
+
-

Authority Boundary

+

Authority boundary

This site publishes the current Registry Stack identifiers from a digest-bound source catalog. Product source and the actual service response remain authoritative for runtime behavior.

- +
+

7 published identifiers

+
- - - - - - - + + + + + + +
IdentifierTitleStatus
https://id.registrystack.org/vocab/core/Registry Relay core vocabularyactive
https://id.registrystack.org/vocab/handlingRegistry Relay handling vocabularyactive
https://id.registrystack.org/vocab/registry-record/Registry Record vocabularyactive
https://id.registrystack.org/vocab/codelistCodelistactive
https://id.registrystack.org/vocab/coordinateReferenceSystemCoordinate reference systemactive
https://id.registrystack.org/vocab/geometryTypeGeometry typeactive
https://id.registrystack.org/vocab/sourceRequiredSource requiredactive
https://id.registrystack.org/vocab/core/Registry Relay core vocabularyactive
https://id.registrystack.org/vocab/handlingRegistry Relay handling vocabularyactive
https://id.registrystack.org/vocab/registry-record/Registry Record vocabularyactive
https://id.registrystack.org/vocab/codelistCodelistactive
https://id.registrystack.org/vocab/coordinateReferenceSystemCoordinate reference systemactive
https://id.registrystack.org/vocab/geometryTypeGeometry typeactive
https://id.registrystack.org/vocab/sourceRequiredSource requiredactive
-
+ + + diff --git a/scripts/build.mjs b/scripts/build.mjs index 31f8436..726a911 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -1,6 +1,8 @@ +import { createHash } from 'node:crypto'; import { cpSync, mkdirSync, + readdirSync, readFileSync, rmSync, writeFileSync, @@ -67,6 +69,33 @@ const artifactKinds = { }, }; +const kindLabels = { + problem: 'Problem type', + namespace: 'Namespace', + schema: 'JSON Schema', + context: 'JSON-LD context', + profile: 'Response profile', + vocabulary: 'Vocabulary', + 'vocabulary-term': 'Vocabulary term', +}; + +// The catalogs are this site's primary navigation, in masthead and footer. +const siteCatalogs = [ + { key: 'problems', href: '/problems/', label: 'Problems', title: 'Problem types' }, + { key: 'namespaces', href: '/namespaces/', label: 'Namespaces', title: 'Namespaces' }, + { key: 'schemas', href: '/schemas/', label: 'Schemas', title: 'Schemas' }, + { key: 'contexts', href: '/contexts/', label: 'Contexts', title: 'Contexts' }, + { key: 'profiles', href: '/profiles/', label: 'Profiles', title: 'Profiles' }, + { key: 'vocabularies', href: '/vocabularies/', label: 'Vocabularies', title: 'Vocabularies' }, +]; + +// Presentational assets are publisher-owned machinery, not identifiers. The +// stylesheet is served under a content-hashed name so it can cache like the +// immutable artifacts while the HTML that references it stays exact-source. +const siteAssetsDir = 'src/assets'; +const siteCss = readFileSync(resolve(repoRoot, siteAssetsDir, 'site.css')); +const siteCssPath = `assets/site.${createHash('sha256').update(siteCss).digest('hex').slice(0, 16)}.css`; + function readJson(path) { return JSON.parse(readFileSync(resolve(repoRoot, path), 'utf8')); } @@ -198,9 +227,9 @@ function problemGuidance(entry) { function renderLinks(links) { if (!links.length) { - return '

No public documentation link is published for this identifier yet.

'; + return '

No public documentation link is published for this identifier yet.

'; } - return `
    + return `
      ${links .map( (link) => @@ -210,8 +239,12 @@ ${links
    `; } +function notPublished() { + return 'not published'; +} + function renderFacts(items) { - return ` + return `
    ${items .filter((item) => { @@ -230,15 +263,86 @@ ${items function renderGuidance(guidance) { const rows = [ { label: 'Guidance status', value: guidance.status }, - { label: 'Retryable', value: guidance.retryable === null ? 'not published' : String(guidance.retryable) }, - { label: 'Caller action', value: guidance.caller_action ?? 'not published' }, - { label: 'Operator action', value: guidance.operator_action ?? 'not published' }, + { label: 'Retryable', html: guidance.retryable === null ? notPublished() : String(guidance.retryable) }, + { label: 'Caller action', html: guidance.caller_action ? escapeHtml(guidance.caller_action) : notPublished() }, + { label: 'Operator action', html: guidance.operator_action ? escapeHtml(guidance.operator_action) : notPublished() }, { label: 'Note', value: guidance.note }, ]; return renderFacts(rows); } -function page(title, body) { +function statusChip(status) { + return `${escapeHtml(status)}`; +} + +function siteHeader(current) { + const nav = siteCatalogs + .map( + (catalog) => + ` ${catalog.label}`, + ) + .join('\n'); + return ``; +} + +function siteFooter() { + const catalogLinks = siteCatalogs + .map( + (catalog) => + `
  • ${catalog.title}
  • `, + ) + .join('\n'); + return ``; +} + +function hero({ eyebrow, title, lede, uri }) { + const uriChip = uri ? `\n

    ${escapeHtml(uri)}

    ` : ''; + return `
    +
    +

    ${escapeHtml(eyebrow)}

    +

    ${escapeHtml(title)}

    +

    ${escapeHtml(lede)}

    ${uriChip} +
    +
    `; +} + +function page(title, { description, current, body }) { const siteName = 'Registry Stack identifiers'; const fullTitle = title === siteName ? siteName : `${title} | ${siteName}`; return ` @@ -247,27 +351,14 @@ function page(title, body) { ${escapeHtml(fullTitle)} - + + + -
    +${siteHeader(current)} ${body} -
    +${siteFooter()} `; @@ -321,24 +412,28 @@ function writeProblem(entry) { const uri = problemUri(entry); const record = problemRecord(entry); const docs = documentationForProblem(entry); - const body = `

    ${escapeHtml(entry.title)}

    -

    ${escapeHtml(entry.description)}

    -

    ${escapeHtml(uri)}

    + const body = `${hero({ + eyebrow: `Problem type · ${entry.product}`, + title: entry.title, + lede: entry.description, + uri, + })} +
    -

    Authority Boundary

    +

    Authority boundary

    ${escapeHtml(resolverAuthorityStatement)}

    ${escapeHtml(problemAuthorityStatement)}

    -

    Defined Facts

    +

    Defined facts

    ${renderFacts([ { label: 'Canonical URI', html: `${escapeHtml(uri)}` }, { label: 'Kind', value: 'problem' }, - { label: 'Lifecycle status', value: entry.status }, + { label: 'Lifecycle status', html: statusChip(entry.status) }, { label: 'Compatibility line', value: entry.compatibility_line }, { label: 'Product', value: entry.product }, { label: 'Code', html: `${escapeHtml(entry.code)}` }, - { label: 'Category', value: entry.category ?? 'not published' }, + { label: 'Category', html: entry.category ? escapeHtml(entry.category) : notPublished() }, { label: 'HTTP statuses', value: entry.http_statuses?.join(', ') ?? 'not published in this resolver record' }, { label: 'Source', value: publicDocSource(entry.source) }, ])} @@ -351,11 +446,17 @@ ${renderLinks(docs)}

    Guidance

    ${renderGuidance(record.guidance)}
    -

    Problem record

    -
    ${escapeHtml(JSON.stringify(record, null, 2))}
    -

    Machine-readable JSON

    `; +
    +

    Problem record

    +
    ${escapeHtml(JSON.stringify(record, null, 2))}
    + +
    +
    `; - writeOutput(`problems/${entry.product}/${entry.path}/index.html`, page(entry.title, body)); + writeOutput( + `problems/${entry.product}/${entry.path}/index.html`, + page(entry.title, { description: entry.description, current: 'problems', body }), + ); writeOutput(`problems/${entry.product}/${entry.path}.json`, json(record)); } @@ -363,22 +464,37 @@ function writeCatalogIndex(name, entries, makeUri) { const rows = entries .map((entry) => { const uri = makeUri(entry); - return ``; + return ``; }) .join('\n'); - const body = `

    ${escapeHtml(name)}

    -

    Stable Registry Stack identifiers.

    + const body = `${hero({ + eyebrow: 'Catalog', + title: name, + lede: 'Stable Registry Stack identifiers.', + })} +
    -

    Authority Boundary

    +

    Authority boundary

    ${escapeHtml(resolverAuthorityStatement)}

    -
    ${escapeHtml(uri)}${escapeHtml(entry.title)}${escapeHtml(entry.status)}
    ${escapeHtml(uri)}${escapeHtml(entry.title)}${statusChip(entry.status)}
    +
    +

    ${entries.length} published identifiers

    +
    ${rows} -
    IdentifierTitleStatus
    `; - writeOutput(`${name.toLowerCase().replaceAll(' ', '-')}/index.html`, page(name, body)); + + +`; + writeOutput( + `${name.toLowerCase().replaceAll(' ', '-')}/index.html`, + page(name, { + description: `Stable Registry Stack ${name.toLowerCase()} identifiers.`, + current: name.toLowerCase().replaceAll(' ', '-'), + body, + }), + ); } function identifierRecord(entry) { @@ -400,21 +516,31 @@ function identifierRecord(entry) { return record; } +function catalogKeyForUri(uri) { + const segment = uriToPath(uri).split('/')[0]; + return siteCatalogs.some((catalog) => catalog.key === segment) ? segment : undefined; +} + function writeIdentifier(entry) { const path = uriToPath(entry.uri); const recordPath = path.endsWith('/') ? `${path}index.json` : `${path}.json`; const record = identifierRecord(entry); - const body = `

    ${escapeHtml(entry.title)}

    -

    ${escapeHtml(entry.uri)}

    -

    ${escapeHtml(entry.description)}

    + const body = `${hero({ + eyebrow: kindLabels[entry.kind] ?? entry.kind, + title: entry.title, + lede: entry.description, + uri: entry.uri, + })} +
    -

    Authority Boundary

    +

    Authority boundary

    ${escapeHtml(resolverAuthorityStatement)}

    -

    Lifecycle

    +
    +

    Lifecycle

    ${renderFacts([ - { label: 'Kind', value: entry.kind }, - { label: 'Status', value: entry.status }, + { label: 'Kind', value: kindLabels[entry.kind] ?? entry.kind }, + { label: 'Status', html: statusChip(entry.status) }, { label: 'Compatibility line', value: entry.compatibility_line }, { label: 'Owner', value: entry.owner }, { @@ -425,12 +551,25 @@ ${renderFacts([ : undefined, }, ])} -

    Documentation

    +
    +
    +

    Documentation

    ${renderLinks(record.documented_by)} -

    Identifier record

    -
    ${escapeHtml(JSON.stringify(record, null, 2))}
    -

    Machine-readable JSON

    `; - writeOutput(`${path}/index.html`, page(entry.title, body)); +
    +
    +

    Identifier record

    +
    ${escapeHtml(JSON.stringify(record, null, 2))}
    + +
    +
    `; + writeOutput( + `${path}/index.html`, + page(entry.title, { + description: entry.description, + current: catalogKeyForUri(entry.uri), + body, + }), + ); writeOutput(recordPath, json(record)); } @@ -453,26 +592,42 @@ function writeArtifactIdentifier(entry) { copyOutput(entry.source, uriToPath(entry.immutable_uri)); } const docs = documentationForIdentifier(entry); - const body = `

    ${escapeHtml(entry.title)}

    -

    ${escapeHtml(entry.uri)}

    -

    ${escapeHtml(entry.description)}

    + const body = `${hero({ + eyebrow: kindLabels[entry.kind] ?? entry.kind, + title: entry.title, + lede: entry.description, + uri: entry.uri, + })} +
    -

    Authority Boundary

    +

    Authority boundary

    ${escapeHtml(resolverAuthorityStatement)}

    The canonical machine artifact at this URI is the ${escapeHtml(noun)} itself.

    -

    Lifecycle

    +
    +

    Lifecycle

    ${renderFacts([ - { label: 'Status', value: entry.status }, + { label: 'Status', html: statusChip(entry.status) }, { label: 'Compatibility line', value: entry.compatibility_line }, { label: 'Owner', value: entry.owner }, { label: 'Artifact SHA-256', html: entry.artifact_sha256 ? `${escapeHtml(entry.artifact_sha256)}` : undefined }, { label: 'Immutable artifact', html: entry.immutable_uri ? `${escapeHtml(entry.immutable_uri)}` : undefined }, ])} -

    Documentation

    +
    +
    +

    Documentation

    ${renderLinks(docs)} -

    ${escapeHtml(noun)}

    `; - writeOutput(artifactPagePath(path), page(entry.title, body)); + +
    +
    `; + writeOutput( + artifactPagePath(path), + page(entry.title, { + description: entry.description, + current: catalogKeyForUri(entry.uri), + body, + }), + ); } // Cloudflare Pages `*` in a `_headers` path matches any run of characters, @@ -594,6 +749,9 @@ function writeStaticControls(artifactEntries) { X-Content-Type-Options: nosniff Referrer-Policy: no-referrer +/assets/* + Cache-Control: public, max-age=86400 + ${exactHeaders} `); writeOutput('_redirects', `/problem-types/* /problems/:splat 301 @@ -665,35 +823,95 @@ writeOutput('index.json', json({ vocabularies: `${baseUrl}/vocabularies/index.json`, }, })); -writeOutput('index.html', page('Registry Stack identifiers', `

    Registry Stack identifiers

    -

    Stable machine identifiers for Registry Stack problem types, namespaces, vocabularies, schemas, contexts, and profiles.

    +function writeSiteAssets() { + writeOutput(siteCssPath, siteCss); + copyOutput(`${siteAssetsDir}/favicon.svg`, 'assets/favicon.svg'); + // The OFL license texts stay in the repository beside the fonts they cover; + // only the font binaries are served. + const fontsDir = resolve(repoRoot, siteAssetsDir, 'fonts'); + for (const name of readdirSync(fontsDir).sort()) { + if (name.endsWith('.woff2')) { + copyOutput(`${siteAssetsDir}/fonts/${name}`, `assets/fonts/${name}`); + } + } +} + +const catalogBlurbs = { + problems: 'RFC 9457 problem type URIs with a stable code for programmatic branching.', + namespaces: 'JSON-LD namespace declarations.', + schemas: 'JSON Schema documents, published at their canonical URI.', + contexts: 'JSON-LD contexts, published at their canonical URI.', + profiles: 'Response profile documents, published at their canonical URI.', + vocabularies: 'Governed vocabularies and their vocabulary terms.', +}; + +const catalogCounts = { + problems: problems.length, + namespaces: namespaces.length, + schemas: schemas.length, + contexts: contexts.length, + profiles: profiles.length, + vocabularies: vocabularies.length + vocabularyTerms.length, +}; + +const homeBody = `${hero({ + eyebrow: 'id.registrystack.org', + title: 'Registry Stack identifiers', + lede: 'Stable machine identifiers for Registry Stack problem types, namespaces, vocabularies, schemas, contexts, and profiles.', + })} +
    -

    Authority Boundary

    +

    Authority boundary

    ${escapeHtml(resolverAuthorityStatement)}

    - `)); -writeOutput('404.html', page('Identifier not found', `

    Identifier not found

    -

    This path is not a registered Registry Stack identifier.

    +
    +

    Catalogs

    +
    +${siteCatalogs + .map( + (catalog) => `
    +

    ${catalog.title}

    +

    ${catalogCounts[catalog.key]} identifiers

    +

    ${escapeHtml(catalogBlurbs[catalog.key])}

    +
    `, + ) + .join('\n')} +
    +
    +
    `; +writeOutput( + 'index.html', + page('Registry Stack identifiers', { + description: + 'Stable machine identifiers for Registry Stack problem types, namespaces, vocabularies, schemas, contexts, and profiles.', + body: homeBody, + }), +); +writeOutput('404.html', page('Identifier not found', { + description: 'This path is not a registered Registry Stack identifier.', + body: `${hero({ + eyebrow: 'Not found', + title: 'Identifier not found', + lede: 'This path is not a registered Registry Stack identifier.', + })} +
    -

    Authority Boundary

    +

    Authority boundary

    ${escapeHtml(resolverAuthorityStatement)}

    -

    Browse the published identifiers:

    - `)); +
    +

    Browse the published identifiers

    +
      +${siteCatalogs + .map( + (catalog) => + `
    • ${catalog.title}
    • `, + ) + .join('\n')} +
    +
    +
    `, +})); writeOutput('llms.txt', `# Registry Stack identifier resolver Canonical host: ${baseUrl}/ @@ -721,6 +939,7 @@ Public documentation: - ${docsBaseUrl}/llms.txt - ${docsBaseUrl}/llms-full.txt `); +writeSiteAssets(); writeStaticControls(artifactIdentifiers); console.log(`built ${relative(process.cwd(), outputDir)}`); diff --git a/src/assets/favicon.svg b/src/assets/favicon.svg new file mode 100644 index 0000000..aac5308 --- /dev/null +++ b/src/assets/favicon.svg @@ -0,0 +1,6 @@ + + Registry Stack identifiers favicon + A compact registry service mark with three horizontal service lines. + + + diff --git a/src/assets/fonts/ibm-plex-mono-OFL.txt b/src/assets/fonts/ibm-plex-mono-OFL.txt new file mode 100644 index 0000000..83eac82 --- /dev/null +++ b/src/assets/fonts/ibm-plex-mono-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-ThinItalic.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-ExtraLight.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-ExtraLightItalic.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-Light.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-LightItalic.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-Regular.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-Italic.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-Medium.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-MediumItalic.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-SemiBold.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-SemiBoldItalic.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-Bold.ttf: Copyright 2017 IBM Corp. All rights reserved. IBMPlexMono-BoldItalic.ttf: Copyright 2017 IBM Corp. All rights reserved. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/assets/fonts/ibm-plex-mono-latin-400-normal.woff2 b/src/assets/fonts/ibm-plex-mono-latin-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0804aaff92260b5359330f63e05b9ac25ccabeee GIT binary patch literal 14708 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/public-sans-latin-700-normal.woff2 b/src/assets/fonts/public-sans-latin-700-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..79c2c45c345605177cf0ae9099e86e2decb99aca GIT binary patch literal 14600 zcmV+jIrqkQPew8T0RR91067Q%5C8xG0C`{l063%o0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/src/assets/site.css b/src/assets/site.css new file mode 100644 index 0000000..6850f7b --- /dev/null +++ b/src/assets/site.css @@ -0,0 +1,604 @@ +/* Registry Stack identifier resolver. + Civic-print design system shared with registrystack.org: same palette, + Public Sans / IBM Plex Mono pairing, masthead rule, ledger tables, and ink + footer, trimmed to what these record pages need. Fonts are self-hosted OFL + subsets; licenses live beside them in src/assets/fonts/. */ + +@font-face { + font-family: 'Public Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('fonts/public-sans-latin-400-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'Public Sans'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url('fonts/public-sans-latin-600-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'Public Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url('fonts/public-sans-latin-700-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); +} + +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url('fonts/ibm-plex-mono-latin-700-normal.woff2') format('woff2'); +} + +:root { + color-scheme: light; + --registry-blue: #173b7a; + --registry-blue-dark: #102a56; + --registry-ink: #161616; + --registry-body: #3a3a3a; + --registry-muted: #6a6a6a; + --registry-rule: #e5e5e5; + --registry-active: #eef3ff; + --registry-code-bg: #f3f4f6; + /* Civic-print palette: quiet ledger-green paper, ink bands, a stamp red used + sparingly for the authority boundary and the open catalog mark. */ + --registry-paper: #eef2ec; + --registry-stamp: #9d2c1d; + --registry-brass: #d4af4e; + --registry-max: 1120px; + --registry-font: 'Public Sans', system-ui, sans-serif; + --registry-mono: 'IBM Plex Mono', ui-monospace, monospace; +} + +* { + box-sizing: border-box; +} + +html { + background: #ffffff; + color: var(--registry-body); + font-family: var(--registry-font); +} + +body { + font-size: 16px; + line-height: 1.58; + margin: 0; +} + +::selection { + background: var(--registry-blue); + color: #ffffff; +} + +a { + color: var(--registry-blue); + text-decoration: none; + text-underline-offset: 3px; +} + +a:hover { + text-decoration: underline; +} + +:focus-visible { + outline: 2px solid var(--registry-blue); + outline-offset: 3px; +} + +h1, +h2, +h3, +p { + margin-top: 0; +} + +/* Masthead rule: the broadsheet nameplate border shared with registrystack.org. */ +.site-header { + align-items: center; + backdrop-filter: blur(8px) saturate(1.4); + background: rgba(255, 255, 255, 0.92); + border-bottom: 2px solid var(--registry-ink); + display: flex; + gap: 24px; + justify-content: space-between; + padding: 14px clamp(16px, 4vw, 42px); + position: sticky; + top: 0; + z-index: 10; +} + +.brand { + align-items: center; + color: var(--registry-ink); + display: inline-flex; + font-size: 17px; + font-weight: 700; + gap: 12px; + white-space: nowrap; +} + +.brand:hover { + text-decoration: none; +} + +.brand-mark { + align-items: center; + background: var(--registry-blue); + color: #ffffff; + display: inline-flex; + font-family: var(--registry-mono); + font-size: 13px; + height: 34px; + justify-content: center; + width: 34px; +} + +.brand-site { + border-left: 1px solid var(--registry-rule); + color: var(--registry-muted); + font-size: 13px; + font-weight: 600; + margin-left: 2px; + padding-left: 12px; +} + +.top-nav { + align-items: center; + display: flex; + flex-wrap: wrap; + gap: clamp(12px, 2vw, 22px); + justify-content: flex-end; +} + +.top-nav a { + align-items: center; + color: var(--registry-muted); + display: inline-flex; + font-size: 14px; + font-weight: 600; + justify-content: center; + min-height: 36px; + min-width: 36px; +} + +.top-nav a:hover { + color: var(--registry-ink); +} + +/* The open catalog is ticked in the register: ink text, stamp-red underline. */ +.top-nav a[aria-current='page'] { + box-shadow: inset 0 -2px 0 var(--registry-stamp); + color: var(--registry-ink); +} + +.top-nav .nav-emphasis { + color: var(--registry-blue); +} + +/* Every record opens on quiet, unruled paper, like the site heroes. */ +.hero { + background-color: var(--registry-paper); + border-bottom: 1px solid var(--registry-rule); +} + +.hero-inner { + margin: 0 auto; + max-width: var(--registry-max); + padding: clamp(36px, 5vw, 60px) clamp(16px, 4vw, 42px) clamp(32px, 4vw, 52px); +} + +.eyebrow { + color: var(--registry-blue); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.08em; + margin: 0 0 14px; + text-transform: uppercase; +} + +.hero h1 { + color: var(--registry-ink); + font-size: clamp(30px, 4.5vw, 46px); + letter-spacing: -0.01em; + line-height: 1.08; + margin-bottom: 16px; + max-width: 880px; + text-wrap: balance; +} + +.hero-lead { + color: var(--registry-body); + font-size: clamp(17px, 1.8vw, 20px); + line-height: 1.45; + margin-bottom: 20px; + max-width: 760px; +} + +/* The canonical URI sits on the hero as a stamped chip. */ +.hero-uri { + background: #ffffff; + border: 1px solid var(--registry-rule); + color: var(--registry-ink); + display: inline-block; + font-family: var(--registry-mono); + font-size: 13px; + line-height: 1.5; + max-width: 100%; + overflow-wrap: anywhere; + padding: 9px 12px; +} + +.record { + margin: 0 auto; + max-width: 920px; + padding: clamp(28px, 5vw, 48px) clamp(16px, 4vw, 42px) clamp(56px, 8vw, 84px); +} + +/* Section headings carry the strong ink rule, in the manner of the article + body on registrystack.org. */ +.record h2 { + border-top: 2px solid var(--registry-ink); + color: var(--registry-ink); + font-size: 22px; + line-height: 1.2; + margin: 44px 0 16px; + padding-top: 16px; + scroll-margin-top: 84px; +} + +/* The authority boundary reads as a stamped marginal note. */ +.notice { + background: var(--registry-paper); + border-left: 4px solid var(--registry-stamp); + padding: 16px 20px; +} + +.notice-title { + color: var(--registry-ink); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.08em; + margin: 0 0 8px; + text-transform: uppercase; +} + +.notice p { + color: var(--registry-body); + font-size: 15px; + line-height: 1.55; + margin: 0 0 8px; +} + +.notice p:last-child { + margin-bottom: 0; +} + +/* Ledger tables: ruled cells, paper column heads in mono. */ +table { + background: #ffffff; + border-collapse: collapse; + display: block; + font-size: 14px; + line-height: 1.5; + margin: 0; + max-width: 100%; + overflow-x: auto; + width: 100%; +} + +th, +td { + border: 1px solid var(--registry-rule); + padding: 10px 12px; + text-align: left; + vertical-align: top; +} + +th { + background: var(--registry-paper); + color: var(--registry-ink); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.02em; +} + +.facts th { + white-space: nowrap; + width: 180px; +} + +.cell-uri { + font-family: var(--registry-mono); + font-size: 13px; + overflow-wrap: anywhere; +} + +/* Catalog tables give the URI room to wrap while titles and status keep + readable columns. */ +.catalog th:nth-child(1), +.catalog td:nth-child(1) { + width: 56%; +} + +.catalog th:nth-child(2), +.catalog td:nth-child(2) { + width: 30%; +} + +.catalog th:nth-child(3), +.catalog td:nth-child(3) { + width: 14%; + white-space: nowrap; +} + +.status { + background: var(--registry-active); + color: var(--registry-blue); + display: inline-block; + font-family: var(--registry-mono); + font-size: 11px; + font-weight: 700; + letter-spacing: 0.04em; + padding: 3px 8px; + text-transform: uppercase; +} + +.muted { + color: var(--registry-muted); +} + +/* Documentation links read as ruled ledger rows. */ +.doc-list { + display: grid; + list-style: none; + margin: 0; + padding: 0; +} + +.doc-list li { + border-top: 1px solid var(--registry-rule); + padding: 10px 0; +} + +.doc-list a { + font-weight: 600; +} + +code { + font-family: var(--registry-mono); + font-size: 13px; +} + +.record :not(pre) > code { + background: var(--registry-code-bg); + color: var(--registry-ink); + overflow-wrap: anywhere; + padding: 2px 6px; +} + +/* The machine record prints as an ink band, like the article code blocks. */ +pre { + background: var(--registry-ink); + color: #ffffff; + margin: 0; + max-width: 100%; + overflow-x: auto; + padding: 20px; +} + +pre code { + background: transparent; + color: inherit; + line-height: 1.55; + white-space: pre; +} + +.machine-link { + font-family: var(--registry-mono); + font-size: 12px; + font-weight: 700; + letter-spacing: 0.04em; + margin: 16px 0 0; + text-transform: uppercase; +} + +/* The home catalog reads as ledger column headings, not boxed cards. */ +.catalog-grid { + display: grid; + gap: clamp(20px, 3vw, 40px); + grid-template-columns: repeat(3, minmax(0, 1fr)); + margin-top: 36px; +} + +.catalog-grid article { + border-top: 2px solid var(--registry-ink); + min-width: 0; + padding: 14px 0 0; +} + +.catalog-grid h3 { + font-size: 18px; + line-height: 1.2; + margin: 0 0 8px; +} + +.catalog-grid h3 a { + color: var(--registry-ink); +} + +.catalog-grid h3 a:hover { + color: var(--registry-blue); + text-decoration: none; +} + +.catalog-count { + color: var(--registry-blue); + font-family: var(--registry-mono); + font-size: 11px; + letter-spacing: 0.1em; + margin: 0 0 10px; + text-transform: uppercase; +} + +.catalog-grid p { + color: var(--registry-body); + font-size: 15px; + line-height: 1.5; + margin: 0; +} + +/* The footer is a deep ink band, bookending the paper hero. */ +.site-footer { + background: var(--registry-ink); + color: #ffffff; +} + +.site-footer-inner { + display: grid; + gap: clamp(28px, 5vw, 56px); + grid-template-columns: minmax(220px, 1fr) 2.4fr; + margin: 0 auto; + max-width: var(--registry-max); + padding: 44px clamp(16px, 4vw, 42px) 28px; +} + +.footer-brand-name { + color: var(--registry-brass); + display: inline-block; + font-family: var(--registry-mono); + font-size: 14px; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.footer-brand p { + color: rgba(255, 255, 255, 0.72); + font-size: 14px; + line-height: 1.55; + margin: 10px 0 0; + max-width: 360px; +} + +.footer-nav { + display: grid; + gap: clamp(20px, 3vw, 40px); + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.footer-col-title { + color: var(--registry-brass); + font-family: var(--registry-mono); + font-size: 12px; + letter-spacing: 0.1em; + margin: 0 0 10px; + text-transform: uppercase; +} + +.footer-col ul { + display: grid; + gap: 2px; + list-style: none; + margin: 0; + padding: 0; +} + +.footer-col a { + align-items: center; + color: rgba(255, 255, 255, 0.86); + display: flex; + font-size: 14px; + min-height: 32px; +} + +.footer-col a:hover { + color: #ffffff; +} + +.site-footer-base { + border-top: 1px solid rgba(255, 255, 255, 0.16); + display: flex; + flex-wrap: wrap; + gap: 6px 28px; + justify-content: space-between; + margin: 0 auto; + max-width: var(--registry-max); + padding: 16px clamp(16px, 4vw, 42px) 28px; +} + +.site-footer-base p { + color: rgba(255, 255, 255, 0.58); + font-size: 13px; + margin: 0; +} + +.site-footer-base a { + color: rgba(255, 255, 255, 0.78); + font-weight: 700; + text-decoration: underline; + text-underline-offset: 3px; +} + +.site-footer :focus-visible { + outline-color: #ffffff; +} + +@media (max-width: 900px) { + /* On small screens the header gives the space back and scrolls away. */ + .site-header { + align-items: flex-start; + flex-direction: column; + gap: 10px; + padding: 12px 16px; + position: static; + } + + .top-nav { + gap: 2px 18px; + justify-content: flex-start; + } + + .catalog-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media (max-width: 620px) { + .hero h1 { + font-size: clamp(28px, 8vw, 36px); + } + + .record h2 { + margin-top: 36px; + } + + .catalog-grid { + grid-template-columns: 1fr; + } + + .site-footer-inner { + grid-template-columns: 1fr; + } + + .footer-nav { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .site-footer-base { + flex-direction: column; + } +} From 1990f07097a55a8b3f568072a029276b36f97923 Mon Sep 17 00:00:00 2001 From: Jeremi Joslin Date: Wed, 9 Sep 2026 22:59:36 +0700 Subject: [PATCH 2/3] feat: mark HTML pages noindex The resolver is reached by following identifiers from responses and documentation, not by search, and authoritative human explanations stay with the product docs. Search presence for the registrystack.org family concentrates on the website and docs instead of 77 near-identical record pages. The meta robots tag covers HTML pages only; machine artifacts, catalogs, and llms.txt are unaffected. Crawling stays allowed so crawlers can see the directive. Signed-off-by: Jeremi Joslin --- README.md | 5 +++++ public/404.html | 1 + public/contexts/index.html | 1 + public/contexts/registry-record/v1.html | 1 + public/index.html | 1 + public/namespaces/index.html | 1 + public/ns/registry-manifest/v1/index.html | 1 + public/problems/index.html | 1 + .../problems/registry-breg/action/evidence_failed/index.html | 1 + .../problems/registry-breg/action/handler_failed/index.html | 1 + public/problems/registry-breg/action/refused/index.html | 1 + .../problems/registry-breg/authentication/refused/index.html | 1 + .../problems/registry-breg/idempotency/conflict/index.html | 1 + public/problems/registry-breg/lookup/unresolved/index.html | 1 + public/problems/registry-breg/mutation/conflict/index.html | 1 + public/problems/registry-breg/precondition/failed/index.html | 1 + .../problems/registry-breg/precondition/required/index.html | 1 + .../problems/registry-breg/query/cursor_invalid/index.html | 1 + public/problems/registry-breg/query/invalid/index.html | 1 + public/problems/registry-breg/request/invalid/index.html | 1 + .../problems/registry-breg/request/plan_refused/index.html | 1 + public/problems/registry-breg/request/timeout/index.html | 1 + public/problems/registry-breg/resource/not_found/index.html | 1 + public/problems/registry-breg/runtime/not_ready/index.html | 1 + public/problems/registry-breg/service/unavailable/index.html | 1 + public/problems/registry-breg/source/unavailable/index.html | 1 + .../problems/registry-breg/unsupported/media_type/index.html | 1 + .../problems/registry-discovery/invalid-request/index.html | 1 + public/problems/registry-discovery/not-found/index.html | 1 + .../registry-discovery/result-bound-exceeded/index.html | 1 + public/problems/registry-discovery/unavailable/index.html | 1 + .../registry-evidence/auth/invalid_credential/index.html | 1 + public/problems/registry-evidence/evidence/denied/index.html | 1 + .../registry-evidence/evidence/invalid_request/index.html | 1 + .../registry-evidence/evidence/rate_limited/index.html | 1 + .../registry-evidence/evidence/unavailable/index.html | 1 + .../problems/registry-evidence/format/unsupported/index.html | 1 + .../registry-evidence/request/selector_invalid/index.html | 1 + .../problems/registry-evidence/resource/not_found/index.html | 1 + .../registry-evidence/service/unavailable/index.html | 1 + .../problems/registry-evidence/source/unavailable/index.html | 1 + .../problems/registry-relay/aggregate-data/denied/index.html | 1 + .../registry-relay/aggregate-data/invalid_request/index.html | 1 + .../registry-relay/aggregate-data/rate_limited/index.html | 1 + .../registry-relay/aggregate-data/too_large/index.html | 1 + public/problems/registry-relay/audit/unavailable/index.html | 1 + .../registry-relay/auth/invalid_credential/index.html | 1 + .../registry-relay/auth/missing_credential/index.html | 1 + .../problems/registry-relay/consultation/denied/index.html | 1 + .../registry-relay/consultation/invalid_request/index.html | 1 + .../registry-relay/consultation/rate_limited/index.html | 1 + .../consultation/response_too_large/index.html | 1 + .../registry-relay/consultation/unresolved/index.html | 1 + .../problems/registry-relay/filter/invalid_value/index.html | 1 + .../problems/registry-relay/filter/unknown_field/index.html | 1 + public/problems/registry-relay/format/unsupported/index.html | 1 + .../registry-relay/internal/payload_too_large/index.html | 1 + public/problems/registry-relay/internal/timeout/index.html | 1 + public/problems/registry-relay/internal/unhandled/index.html | 1 + .../problems/registry-relay/internal/uri_too_long/index.html | 1 + .../problems/registry-relay/query/cursor_invalid/index.html | 1 + .../registry-relay/request/access_profile_invalid/index.html | 1 + .../registry-relay/request/fields_invalid/index.html | 1 + .../registry-relay/request/media_type_unsupported/index.html | 1 + public/problems/registry-relay/resource/not_found/index.html | 1 + public/problems/registry-relay/service/not_ready/index.html | 1 + public/problems/registry-relay/source/unavailable/index.html | 1 + public/profiles/index.html | 1 + public/profiles/registry-record/v1.html | 1 + .../authoring/registry-module.v1alpha1.schema/index.html | 1 + .../authoring/registry-project.v1alpha1.schema/index.html | 1 + .../schemas/breg/runtime/runtime.v1alpha1.schema/index.html | 1 + public/schemas/identifiers/catalog.v1.schema/index.html | 1 + public/schemas/index.html | 1 + public/schemas/registry-record/v1.html | 1 + public/schemas/registry-relay/audit-event/v2alpha1.html | 1 + .../authoring/registry.v2alpha1.schema/index.html | 1 + .../authoring/runtime.v2alpha1.schema/index.html | 1 + public/vocab/codelist/index.html | 1 + public/vocab/coordinateReferenceSystem/index.html | 1 + public/vocab/core/index.html | 1 + public/vocab/geometryType/index.html | 1 + public/vocab/handling/index.html | 1 + public/vocab/registry-record/index.html | 1 + public/vocab/sourceRequired/index.html | 1 + public/vocabularies/index.html | 1 + scripts/build.mjs | 1 + 87 files changed, 91 insertions(+) diff --git a/README.md b/README.md index 1e9306e..c316a8f 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,11 @@ system. They are publisher-owned presentational machinery, not identifiers: filename so it can cache safely. The OFL font licenses are kept beside the fonts in `src/assets/fonts/`. +HTML pages carry `noindex`: the resolver is reached by following identifiers +from responses and documentation, not by search, and human explanations stay +with the product docs. Machine artifacts, catalogs, and `llms.txt` are +unaffected. + ## Local workflow Import the catalog and artifacts from an exact Registry Stack commit: diff --git a/public/404.html b/public/404.html index b91005b..5434f76 100644 --- a/public/404.html +++ b/public/404.html @@ -5,6 +5,7 @@ Identifier not found | Registry Stack identifiers + diff --git a/public/contexts/index.html b/public/contexts/index.html index 36d6620..c5bc38d 100644 --- a/public/contexts/index.html +++ b/public/contexts/index.html @@ -5,6 +5,7 @@ Contexts | Registry Stack identifiers + diff --git a/public/contexts/registry-record/v1.html b/public/contexts/registry-record/v1.html index 0194f85..2eadaea 100644 --- a/public/contexts/registry-record/v1.html +++ b/public/contexts/registry-record/v1.html @@ -5,6 +5,7 @@ Registry Record v1 JSON-LD context | Registry Stack identifiers + diff --git a/public/index.html b/public/index.html index 6cc0d77..dc3c2ee 100644 --- a/public/index.html +++ b/public/index.html @@ -5,6 +5,7 @@ Registry Stack identifiers + diff --git a/public/namespaces/index.html b/public/namespaces/index.html index 7e9b970..19991c2 100644 --- a/public/namespaces/index.html +++ b/public/namespaces/index.html @@ -5,6 +5,7 @@ Namespaces | Registry Stack identifiers + diff --git a/public/ns/registry-manifest/v1/index.html b/public/ns/registry-manifest/v1/index.html index 9cfb59d..34ea51b 100644 --- a/public/ns/registry-manifest/v1/index.html +++ b/public/ns/registry-manifest/v1/index.html @@ -5,6 +5,7 @@ Registry Manifest v1 namespace | Registry Stack identifiers + diff --git a/public/problems/index.html b/public/problems/index.html index ffcd960..fd8fa68 100644 --- a/public/problems/index.html +++ b/public/problems/index.html @@ -5,6 +5,7 @@ Problems | Registry Stack identifiers + diff --git a/public/problems/registry-breg/action/evidence_failed/index.html b/public/problems/registry-breg/action/evidence_failed/index.html index 2183983..fff0604 100644 --- a/public/problems/registry-breg/action/evidence_failed/index.html +++ b/public/problems/registry-breg/action/evidence_failed/index.html @@ -5,6 +5,7 @@ Service Unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-breg/action/handler_failed/index.html b/public/problems/registry-breg/action/handler_failed/index.html index 3d46d36..2ad34c8 100644 --- a/public/problems/registry-breg/action/handler_failed/index.html +++ b/public/problems/registry-breg/action/handler_failed/index.html @@ -5,6 +5,7 @@ Internal Server Error | Registry Stack identifiers + diff --git a/public/problems/registry-breg/action/refused/index.html b/public/problems/registry-breg/action/refused/index.html index c6434f6..5ab2407 100644 --- a/public/problems/registry-breg/action/refused/index.html +++ b/public/problems/registry-breg/action/refused/index.html @@ -5,6 +5,7 @@ Unprocessable Entity | Registry Stack identifiers + diff --git a/public/problems/registry-breg/authentication/refused/index.html b/public/problems/registry-breg/authentication/refused/index.html index 6f6e420..b5239b9 100644 --- a/public/problems/registry-breg/authentication/refused/index.html +++ b/public/problems/registry-breg/authentication/refused/index.html @@ -5,6 +5,7 @@ Unauthorized | Registry Stack identifiers + diff --git a/public/problems/registry-breg/idempotency/conflict/index.html b/public/problems/registry-breg/idempotency/conflict/index.html index de9646a..04b5c7a 100644 --- a/public/problems/registry-breg/idempotency/conflict/index.html +++ b/public/problems/registry-breg/idempotency/conflict/index.html @@ -5,6 +5,7 @@ Conflict | Registry Stack identifiers + diff --git a/public/problems/registry-breg/lookup/unresolved/index.html b/public/problems/registry-breg/lookup/unresolved/index.html index a357591..e810d7f 100644 --- a/public/problems/registry-breg/lookup/unresolved/index.html +++ b/public/problems/registry-breg/lookup/unresolved/index.html @@ -5,6 +5,7 @@ Not Found | Registry Stack identifiers + diff --git a/public/problems/registry-breg/mutation/conflict/index.html b/public/problems/registry-breg/mutation/conflict/index.html index 84ae7b2..b9f8156 100644 --- a/public/problems/registry-breg/mutation/conflict/index.html +++ b/public/problems/registry-breg/mutation/conflict/index.html @@ -5,6 +5,7 @@ Conflict | Registry Stack identifiers + diff --git a/public/problems/registry-breg/precondition/failed/index.html b/public/problems/registry-breg/precondition/failed/index.html index f5d0fb0..55c82b9 100644 --- a/public/problems/registry-breg/precondition/failed/index.html +++ b/public/problems/registry-breg/precondition/failed/index.html @@ -5,6 +5,7 @@ Precondition Failed | Registry Stack identifiers + diff --git a/public/problems/registry-breg/precondition/required/index.html b/public/problems/registry-breg/precondition/required/index.html index cf24677..18fa084 100644 --- a/public/problems/registry-breg/precondition/required/index.html +++ b/public/problems/registry-breg/precondition/required/index.html @@ -5,6 +5,7 @@ Precondition Required | Registry Stack identifiers + diff --git a/public/problems/registry-breg/query/cursor_invalid/index.html b/public/problems/registry-breg/query/cursor_invalid/index.html index c7d1869..840f793 100644 --- a/public/problems/registry-breg/query/cursor_invalid/index.html +++ b/public/problems/registry-breg/query/cursor_invalid/index.html @@ -5,6 +5,7 @@ Bad Request | Registry Stack identifiers + diff --git a/public/problems/registry-breg/query/invalid/index.html b/public/problems/registry-breg/query/invalid/index.html index 2791a3b..2feffc0 100644 --- a/public/problems/registry-breg/query/invalid/index.html +++ b/public/problems/registry-breg/query/invalid/index.html @@ -5,6 +5,7 @@ Bad Request | Registry Stack identifiers + diff --git a/public/problems/registry-breg/request/invalid/index.html b/public/problems/registry-breg/request/invalid/index.html index 8896521..5a9275a 100644 --- a/public/problems/registry-breg/request/invalid/index.html +++ b/public/problems/registry-breg/request/invalid/index.html @@ -5,6 +5,7 @@ Bad Request | Registry Stack identifiers + diff --git a/public/problems/registry-breg/request/plan_refused/index.html b/public/problems/registry-breg/request/plan_refused/index.html index ff55b10..5783187 100644 --- a/public/problems/registry-breg/request/plan_refused/index.html +++ b/public/problems/registry-breg/request/plan_refused/index.html @@ -5,6 +5,7 @@ Bad Request | Registry Stack identifiers + diff --git a/public/problems/registry-breg/request/timeout/index.html b/public/problems/registry-breg/request/timeout/index.html index 647011a..f0a4789 100644 --- a/public/problems/registry-breg/request/timeout/index.html +++ b/public/problems/registry-breg/request/timeout/index.html @@ -5,6 +5,7 @@ Gateway Timeout | Registry Stack identifiers + diff --git a/public/problems/registry-breg/resource/not_found/index.html b/public/problems/registry-breg/resource/not_found/index.html index ec7cb0d..556247e 100644 --- a/public/problems/registry-breg/resource/not_found/index.html +++ b/public/problems/registry-breg/resource/not_found/index.html @@ -5,6 +5,7 @@ Not Found | Registry Stack identifiers + diff --git a/public/problems/registry-breg/runtime/not_ready/index.html b/public/problems/registry-breg/runtime/not_ready/index.html index c0cf205..615d1e2 100644 --- a/public/problems/registry-breg/runtime/not_ready/index.html +++ b/public/problems/registry-breg/runtime/not_ready/index.html @@ -5,6 +5,7 @@ Service Unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-breg/service/unavailable/index.html b/public/problems/registry-breg/service/unavailable/index.html index 285c3e6..3a7ca91 100644 --- a/public/problems/registry-breg/service/unavailable/index.html +++ b/public/problems/registry-breg/service/unavailable/index.html @@ -5,6 +5,7 @@ Service Unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-breg/source/unavailable/index.html b/public/problems/registry-breg/source/unavailable/index.html index 5b042f4..ef3fff9 100644 --- a/public/problems/registry-breg/source/unavailable/index.html +++ b/public/problems/registry-breg/source/unavailable/index.html @@ -5,6 +5,7 @@ Service Unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-breg/unsupported/media_type/index.html b/public/problems/registry-breg/unsupported/media_type/index.html index 26b325f..e2994c3 100644 --- a/public/problems/registry-breg/unsupported/media_type/index.html +++ b/public/problems/registry-breg/unsupported/media_type/index.html @@ -5,6 +5,7 @@ Unsupported Media Type | Registry Stack identifiers + diff --git a/public/problems/registry-discovery/invalid-request/index.html b/public/problems/registry-discovery/invalid-request/index.html index 8f2510e..420e430 100644 --- a/public/problems/registry-discovery/invalid-request/index.html +++ b/public/problems/registry-discovery/invalid-request/index.html @@ -5,6 +5,7 @@ Invalid request | Registry Stack identifiers + diff --git a/public/problems/registry-discovery/not-found/index.html b/public/problems/registry-discovery/not-found/index.html index 51b4b70..4292f97 100644 --- a/public/problems/registry-discovery/not-found/index.html +++ b/public/problems/registry-discovery/not-found/index.html @@ -5,6 +5,7 @@ Not found | Registry Stack identifiers + diff --git a/public/problems/registry-discovery/result-bound-exceeded/index.html b/public/problems/registry-discovery/result-bound-exceeded/index.html index 605c507..8a807a6 100644 --- a/public/problems/registry-discovery/result-bound-exceeded/index.html +++ b/public/problems/registry-discovery/result-bound-exceeded/index.html @@ -5,6 +5,7 @@ Result bound exceeded | Registry Stack identifiers + diff --git a/public/problems/registry-discovery/unavailable/index.html b/public/problems/registry-discovery/unavailable/index.html index 4185b05..9292ede 100644 --- a/public/problems/registry-discovery/unavailable/index.html +++ b/public/problems/registry-discovery/unavailable/index.html @@ -5,6 +5,7 @@ Unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/auth/invalid_credential/index.html b/public/problems/registry-evidence/auth/invalid_credential/index.html index e7132af..85b028e 100644 --- a/public/problems/registry-evidence/auth/invalid_credential/index.html +++ b/public/problems/registry-evidence/auth/invalid_credential/index.html @@ -5,6 +5,7 @@ Bearer access token is invalid | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/evidence/denied/index.html b/public/problems/registry-evidence/evidence/denied/index.html index 129ddd0..85723ee 100644 --- a/public/problems/registry-evidence/evidence/denied/index.html +++ b/public/problems/registry-evidence/evidence/denied/index.html @@ -5,6 +5,7 @@ Evidence request is not permitted | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/evidence/invalid_request/index.html b/public/problems/registry-evidence/evidence/invalid_request/index.html index 52572fc..1593914 100644 --- a/public/problems/registry-evidence/evidence/invalid_request/index.html +++ b/public/problems/registry-evidence/evidence/invalid_request/index.html @@ -5,6 +5,7 @@ Evidence request is invalid | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/evidence/rate_limited/index.html b/public/problems/registry-evidence/evidence/rate_limited/index.html index d5ec765..8494504 100644 --- a/public/problems/registry-evidence/evidence/rate_limited/index.html +++ b/public/problems/registry-evidence/evidence/rate_limited/index.html @@ -5,6 +5,7 @@ Evidence request rate is exhausted | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/evidence/unavailable/index.html b/public/problems/registry-evidence/evidence/unavailable/index.html index 78da259..4a486a9 100644 --- a/public/problems/registry-evidence/evidence/unavailable/index.html +++ b/public/problems/registry-evidence/evidence/unavailable/index.html @@ -5,6 +5,7 @@ Evidence could not be produced | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/format/unsupported/index.html b/public/problems/registry-evidence/format/unsupported/index.html index c265fe9..2826a63 100644 --- a/public/problems/registry-evidence/format/unsupported/index.html +++ b/public/problems/registry-evidence/format/unsupported/index.html @@ -5,6 +5,7 @@ Requested format is not supported | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/request/selector_invalid/index.html b/public/problems/registry-evidence/request/selector_invalid/index.html index fdcdccc..070afcf 100644 --- a/public/problems/registry-evidence/request/selector_invalid/index.html +++ b/public/problems/registry-evidence/request/selector_invalid/index.html @@ -5,6 +5,7 @@ Selector is invalid | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/resource/not_found/index.html b/public/problems/registry-evidence/resource/not_found/index.html index 9c3c579..ce8e016 100644 --- a/public/problems/registry-evidence/resource/not_found/index.html +++ b/public/problems/registry-evidence/resource/not_found/index.html @@ -5,6 +5,7 @@ Requested resource was not found | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/service/unavailable/index.html b/public/problems/registry-evidence/service/unavailable/index.html index fa1432f..0b0d829 100644 --- a/public/problems/registry-evidence/service/unavailable/index.html +++ b/public/problems/registry-evidence/service/unavailable/index.html @@ -5,6 +5,7 @@ Service is unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-evidence/source/unavailable/index.html b/public/problems/registry-evidence/source/unavailable/index.html index 4bf3cd3..ba07036 100644 --- a/public/problems/registry-evidence/source/unavailable/index.html +++ b/public/problems/registry-evidence/source/unavailable/index.html @@ -5,6 +5,7 @@ Authoritative source is unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-relay/aggregate-data/denied/index.html b/public/problems/registry-relay/aggregate-data/denied/index.html index 42ef977..a7927b2 100644 --- a/public/problems/registry-relay/aggregate-data/denied/index.html +++ b/public/problems/registry-relay/aggregate-data/denied/index.html @@ -5,6 +5,7 @@ Aggregate data access is not permitted | Registry Stack identifiers + 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 aa49c4d..c340469 100644 --- a/public/problems/registry-relay/aggregate-data/invalid_request/index.html +++ b/public/problems/registry-relay/aggregate-data/invalid_request/index.html @@ -5,6 +5,7 @@ Aggregate data request is invalid | Registry Stack identifiers + 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 2090dda..86fe78b 100644 --- a/public/problems/registry-relay/aggregate-data/rate_limited/index.html +++ b/public/problems/registry-relay/aggregate-data/rate_limited/index.html @@ -5,6 +5,7 @@ Aggregate data quota is exhausted | Registry Stack identifiers + 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 0b7ecee..6f9bcad 100644 --- a/public/problems/registry-relay/aggregate-data/too_large/index.html +++ b/public/problems/registry-relay/aggregate-data/too_large/index.html @@ -5,6 +5,7 @@ Aggregate data request is too broad | Registry Stack identifiers + diff --git a/public/problems/registry-relay/audit/unavailable/index.html b/public/problems/registry-relay/audit/unavailable/index.html index 3f90f08..6ef598d 100644 --- a/public/problems/registry-relay/audit/unavailable/index.html +++ b/public/problems/registry-relay/audit/unavailable/index.html @@ -5,6 +5,7 @@ Required audit is unavailable | Registry Stack identifiers + diff --git a/public/problems/registry-relay/auth/invalid_credential/index.html b/public/problems/registry-relay/auth/invalid_credential/index.html index ae0ebc3..beffb0d 100644 --- a/public/problems/registry-relay/auth/invalid_credential/index.html +++ b/public/problems/registry-relay/auth/invalid_credential/index.html @@ -5,6 +5,7 @@ Bearer access token is invalid | Registry Stack identifiers + diff --git a/public/problems/registry-relay/auth/missing_credential/index.html b/public/problems/registry-relay/auth/missing_credential/index.html index 2f9ccf7..c582e35 100644 --- a/public/problems/registry-relay/auth/missing_credential/index.html +++ b/public/problems/registry-relay/auth/missing_credential/index.html @@ -5,6 +5,7 @@ Bearer access token is required | Registry Stack identifiers + diff --git a/public/problems/registry-relay/consultation/denied/index.html b/public/problems/registry-relay/consultation/denied/index.html index 5fe06b6..d8446ee 100644 --- a/public/problems/registry-relay/consultation/denied/index.html +++ b/public/problems/registry-relay/consultation/denied/index.html @@ -5,6 +5,7 @@ Consultation is not permitted | Registry Stack identifiers + diff --git a/public/problems/registry-relay/consultation/invalid_request/index.html b/public/problems/registry-relay/consultation/invalid_request/index.html index c0ce406..e82942b 100644 --- a/public/problems/registry-relay/consultation/invalid_request/index.html +++ b/public/problems/registry-relay/consultation/invalid_request/index.html @@ -5,6 +5,7 @@ Consultation request is invalid | Registry Stack identifiers + diff --git a/public/problems/registry-relay/consultation/rate_limited/index.html b/public/problems/registry-relay/consultation/rate_limited/index.html index 75ad2b2..e69a389 100644 --- a/public/problems/registry-relay/consultation/rate_limited/index.html +++ b/public/problems/registry-relay/consultation/rate_limited/index.html @@ -5,6 +5,7 @@ Consultation quota is exhausted | Registry Stack identifiers + 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 1bc346d..bfd78b9 100644 --- a/public/problems/registry-relay/consultation/response_too_large/index.html +++ b/public/problems/registry-relay/consultation/response_too_large/index.html @@ -5,6 +5,7 @@ Consultation response is too large | Registry Stack identifiers + diff --git a/public/problems/registry-relay/consultation/unresolved/index.html b/public/problems/registry-relay/consultation/unresolved/index.html index 053d0c9..4901544 100644 --- a/public/problems/registry-relay/consultation/unresolved/index.html +++ b/public/problems/registry-relay/consultation/unresolved/index.html @@ -5,6 +5,7 @@ Requested record was not resolved | Registry Stack identifiers + diff --git a/public/problems/registry-relay/filter/invalid_value/index.html b/public/problems/registry-relay/filter/invalid_value/index.html index bd85681..a3ee9d9 100644 --- a/public/problems/registry-relay/filter/invalid_value/index.html +++ b/public/problems/registry-relay/filter/invalid_value/index.html @@ -5,6 +5,7 @@ Filter value is invalid | Registry Stack identifiers + diff --git a/public/problems/registry-relay/filter/unknown_field/index.html b/public/problems/registry-relay/filter/unknown_field/index.html index 3c631b4..2e57b77 100644 --- a/public/problems/registry-relay/filter/unknown_field/index.html +++ b/public/problems/registry-relay/filter/unknown_field/index.html @@ -5,6 +5,7 @@ Filter is not declared | Registry Stack identifiers + diff --git a/public/problems/registry-relay/format/unsupported/index.html b/public/problems/registry-relay/format/unsupported/index.html index dd49d64..da20eee 100644 --- a/public/problems/registry-relay/format/unsupported/index.html +++ b/public/problems/registry-relay/format/unsupported/index.html @@ -5,6 +5,7 @@ Requested format is not supported | Registry Stack identifiers + 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 9a50c98..0484d19 100644 --- a/public/problems/registry-relay/internal/payload_too_large/index.html +++ b/public/problems/registry-relay/internal/payload_too_large/index.html @@ -5,6 +5,7 @@ Request body is too large | Registry Stack identifiers + diff --git a/public/problems/registry-relay/internal/timeout/index.html b/public/problems/registry-relay/internal/timeout/index.html index 141b320..3f96cb5 100644 --- a/public/problems/registry-relay/internal/timeout/index.html +++ b/public/problems/registry-relay/internal/timeout/index.html @@ -5,6 +5,7 @@ Request timed out | Registry Stack identifiers + diff --git a/public/problems/registry-relay/internal/unhandled/index.html b/public/problems/registry-relay/internal/unhandled/index.html index 48c5b05..7e40018 100644 --- a/public/problems/registry-relay/internal/unhandled/index.html +++ b/public/problems/registry-relay/internal/unhandled/index.html @@ -5,6 +5,7 @@ Request could not be served | Registry Stack identifiers + 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 aee6d4e..ad73de5 100644 --- a/public/problems/registry-relay/internal/uri_too_long/index.html +++ b/public/problems/registry-relay/internal/uri_too_long/index.html @@ -5,6 +5,7 @@ Request URI is too long | Registry Stack identifiers + diff --git a/public/problems/registry-relay/query/cursor_invalid/index.html b/public/problems/registry-relay/query/cursor_invalid/index.html index 188e495..12b4395 100644 --- a/public/problems/registry-relay/query/cursor_invalid/index.html +++ b/public/problems/registry-relay/query/cursor_invalid/index.html @@ -5,6 +5,7 @@ Cursor is invalid | Registry Stack identifiers + 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 0ee71a6..f75ccd1 100644 --- a/public/problems/registry-relay/request/access_profile_invalid/index.html +++ b/public/problems/registry-relay/request/access_profile_invalid/index.html @@ -5,6 +5,7 @@ Access profile selection is invalid | Registry Stack identifiers + diff --git a/public/problems/registry-relay/request/fields_invalid/index.html b/public/problems/registry-relay/request/fields_invalid/index.html index 7f50024..ca75838 100644 --- a/public/problems/registry-relay/request/fields_invalid/index.html +++ b/public/problems/registry-relay/request/fields_invalid/index.html @@ -5,6 +5,7 @@ Field selection is invalid | Registry Stack identifiers + 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 f3e0848..8b97180 100644 --- a/public/problems/registry-relay/request/media_type_unsupported/index.html +++ b/public/problems/registry-relay/request/media_type_unsupported/index.html @@ -5,6 +5,7 @@ Request media type is not supported | Registry Stack identifiers + diff --git a/public/problems/registry-relay/resource/not_found/index.html b/public/problems/registry-relay/resource/not_found/index.html index 3fd1ecf..9b7cbb5 100644 --- a/public/problems/registry-relay/resource/not_found/index.html +++ b/public/problems/registry-relay/resource/not_found/index.html @@ -5,6 +5,7 @@ Requested resource was not found | Registry Stack identifiers + diff --git a/public/problems/registry-relay/service/not_ready/index.html b/public/problems/registry-relay/service/not_ready/index.html index a0ed25d..e4f456b 100644 --- a/public/problems/registry-relay/service/not_ready/index.html +++ b/public/problems/registry-relay/service/not_ready/index.html @@ -5,6 +5,7 @@ Service is not ready | Registry Stack identifiers + diff --git a/public/problems/registry-relay/source/unavailable/index.html b/public/problems/registry-relay/source/unavailable/index.html index 37517fb..4e4f73e 100644 --- a/public/problems/registry-relay/source/unavailable/index.html +++ b/public/problems/registry-relay/source/unavailable/index.html @@ -5,6 +5,7 @@ Authoritative source is unavailable | Registry Stack identifiers + diff --git a/public/profiles/index.html b/public/profiles/index.html index 8db3d30..b8aa388 100644 --- a/public/profiles/index.html +++ b/public/profiles/index.html @@ -5,6 +5,7 @@ Profiles | Registry Stack identifiers + diff --git a/public/profiles/registry-record/v1.html b/public/profiles/registry-record/v1.html index a06b1c1..ace548c 100644 --- a/public/profiles/registry-record/v1.html +++ b/public/profiles/registry-record/v1.html @@ -5,6 +5,7 @@ Registry Record v1 profile | Registry Stack identifiers + 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 5d15827..597bbd1 100644 --- a/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html +++ b/public/schemas/breg/authoring/registry-module.v1alpha1.schema/index.html @@ -5,6 +5,7 @@ Base Registry Engine authored module | Registry Stack identifiers + 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 7deab79..afb4e6b 100644 --- a/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html +++ b/public/schemas/breg/authoring/registry-project.v1alpha1.schema/index.html @@ -5,6 +5,7 @@ Base Registry Engine authored project | Registry Stack identifiers + diff --git a/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html b/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html index 30da2cb..7f4d41d 100644 --- a/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html +++ b/public/schemas/breg/runtime/runtime.v1alpha1.schema/index.html @@ -5,6 +5,7 @@ Base Registry Engine runtime configuration | Registry Stack identifiers + diff --git a/public/schemas/identifiers/catalog.v1.schema/index.html b/public/schemas/identifiers/catalog.v1.schema/index.html index 50ad419..4d0c684 100644 --- a/public/schemas/identifiers/catalog.v1.schema/index.html +++ b/public/schemas/identifiers/catalog.v1.schema/index.html @@ -5,6 +5,7 @@ Registry Stack identifier catalog v1 | Registry Stack identifiers + diff --git a/public/schemas/index.html b/public/schemas/index.html index fb4bd74..896fba7 100644 --- a/public/schemas/index.html +++ b/public/schemas/index.html @@ -5,6 +5,7 @@ Schemas | Registry Stack identifiers + diff --git a/public/schemas/registry-record/v1.html b/public/schemas/registry-record/v1.html index 29bfc76..b0706a9 100644 --- a/public/schemas/registry-record/v1.html +++ b/public/schemas/registry-record/v1.html @@ -5,6 +5,7 @@ Registry Record v1 base response | Registry Stack identifiers + diff --git a/public/schemas/registry-relay/audit-event/v2alpha1.html b/public/schemas/registry-relay/audit-event/v2alpha1.html index b503d59..1061a5c 100644 --- a/public/schemas/registry-relay/audit-event/v2alpha1.html +++ b/public/schemas/registry-relay/audit-event/v2alpha1.html @@ -5,6 +5,7 @@ Registry Relay value-free audit event | Registry Stack identifiers + diff --git a/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html b/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html index c94f212..4469de3 100644 --- a/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html +++ b/public/schemas/registry-relay/authoring/registry.v2alpha1.schema/index.html @@ -5,6 +5,7 @@ Relay V2 governed Registry contract | Registry Stack identifiers + diff --git a/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html b/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html index 28187ba..3d80efc 100644 --- a/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html +++ b/public/schemas/registry-relay/authoring/runtime.v2alpha1.schema/index.html @@ -5,6 +5,7 @@ Relay V2 deployment binding | Registry Stack identifiers + diff --git a/public/vocab/codelist/index.html b/public/vocab/codelist/index.html index 950f71c..e9bf0cf 100644 --- a/public/vocab/codelist/index.html +++ b/public/vocab/codelist/index.html @@ -5,6 +5,7 @@ Codelist | Registry Stack identifiers + diff --git a/public/vocab/coordinateReferenceSystem/index.html b/public/vocab/coordinateReferenceSystem/index.html index 6593f95..b430d9f 100644 --- a/public/vocab/coordinateReferenceSystem/index.html +++ b/public/vocab/coordinateReferenceSystem/index.html @@ -5,6 +5,7 @@ Coordinate reference system | Registry Stack identifiers + diff --git a/public/vocab/core/index.html b/public/vocab/core/index.html index 7554a0a..84e1880 100644 --- a/public/vocab/core/index.html +++ b/public/vocab/core/index.html @@ -5,6 +5,7 @@ Registry Relay core vocabulary | Registry Stack identifiers + diff --git a/public/vocab/geometryType/index.html b/public/vocab/geometryType/index.html index fe90aa0..0b3a4eb 100644 --- a/public/vocab/geometryType/index.html +++ b/public/vocab/geometryType/index.html @@ -5,6 +5,7 @@ Geometry type | Registry Stack identifiers + diff --git a/public/vocab/handling/index.html b/public/vocab/handling/index.html index f2d7c43..5d5c82d 100644 --- a/public/vocab/handling/index.html +++ b/public/vocab/handling/index.html @@ -5,6 +5,7 @@ Registry Relay handling vocabulary | Registry Stack identifiers + diff --git a/public/vocab/registry-record/index.html b/public/vocab/registry-record/index.html index c44bd8b..2666800 100644 --- a/public/vocab/registry-record/index.html +++ b/public/vocab/registry-record/index.html @@ -5,6 +5,7 @@ Registry Record vocabulary | Registry Stack identifiers + diff --git a/public/vocab/sourceRequired/index.html b/public/vocab/sourceRequired/index.html index 9688dd7..26aa57a 100644 --- a/public/vocab/sourceRequired/index.html +++ b/public/vocab/sourceRequired/index.html @@ -5,6 +5,7 @@ Source required | Registry Stack identifiers + diff --git a/public/vocabularies/index.html b/public/vocabularies/index.html index 572f52a..02c0fe6 100644 --- a/public/vocabularies/index.html +++ b/public/vocabularies/index.html @@ -5,6 +5,7 @@ Vocabularies | Registry Stack identifiers + diff --git a/scripts/build.mjs b/scripts/build.mjs index 726a911..09270ad 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -352,6 +352,7 @@ function page(title, { description, current, body }) { ${escapeHtml(fullTitle)} + From 868dd35b48f3c9e17a76d9766a8de9dfd1552a71 Mon Sep 17 00:00:00 2001 From: Jeremi Joslin Date: Wed, 9 Sep 2026 23:03:42 +0700 Subject: [PATCH 3/3] fix: restore main landmark and complete the nav current-state map Address Codex review on the design PR: wrap page content in a single
    landmark again, and map the /ns/ and /vocab/ canonical prefixes to their namespaces and vocabularies catalogs so every detail page ticks its catalog in the masthead. Signed-off-by: Jeremi Joslin --- public/404.html | 2 ++ public/contexts/index.html | 2 ++ public/contexts/registry-record/v1.html | 2 ++ public/index.html | 2 ++ public/namespaces/index.html | 2 ++ public/ns/registry-manifest/v1/index.html | 4 +++- public/problems/index.html | 2 ++ .../action/evidence_failed/index.html | 2 ++ .../action/handler_failed/index.html | 2 ++ .../registry-breg/action/refused/index.html | 2 ++ .../authentication/refused/index.html | 2 ++ .../idempotency/conflict/index.html | 2 ++ .../lookup/unresolved/index.html | 2 ++ .../mutation/conflict/index.html | 2 ++ .../precondition/failed/index.html | 2 ++ .../precondition/required/index.html | 2 ++ .../query/cursor_invalid/index.html | 2 ++ .../registry-breg/query/invalid/index.html | 2 ++ .../registry-breg/request/invalid/index.html | 2 ++ .../request/plan_refused/index.html | 2 ++ .../registry-breg/request/timeout/index.html | 2 ++ .../resource/not_found/index.html | 2 ++ .../runtime/not_ready/index.html | 2 ++ .../service/unavailable/index.html | 2 ++ .../source/unavailable/index.html | 2 ++ .../unsupported/media_type/index.html | 2 ++ .../invalid-request/index.html | 2 ++ .../registry-discovery/not-found/index.html | 2 ++ .../result-bound-exceeded/index.html | 2 ++ .../registry-discovery/unavailable/index.html | 2 ++ .../auth/invalid_credential/index.html | 2 ++ .../evidence/denied/index.html | 2 ++ .../evidence/invalid_request/index.html | 2 ++ .../evidence/rate_limited/index.html | 2 ++ .../evidence/unavailable/index.html | 2 ++ .../format/unsupported/index.html | 2 ++ .../request/selector_invalid/index.html | 2 ++ .../resource/not_found/index.html | 2 ++ .../service/unavailable/index.html | 2 ++ .../source/unavailable/index.html | 2 ++ .../aggregate-data/denied/index.html | 2 ++ .../aggregate-data/invalid_request/index.html | 2 ++ .../aggregate-data/rate_limited/index.html | 2 ++ .../aggregate-data/too_large/index.html | 2 ++ .../audit/unavailable/index.html | 2 ++ .../auth/invalid_credential/index.html | 2 ++ .../auth/missing_credential/index.html | 2 ++ .../consultation/denied/index.html | 2 ++ .../consultation/invalid_request/index.html | 2 ++ .../consultation/rate_limited/index.html | 2 ++ .../response_too_large/index.html | 2 ++ .../consultation/unresolved/index.html | 2 ++ .../filter/invalid_value/index.html | 2 ++ .../filter/unknown_field/index.html | 2 ++ .../format/unsupported/index.html | 2 ++ .../internal/payload_too_large/index.html | 2 ++ .../internal/timeout/index.html | 2 ++ .../internal/unhandled/index.html | 2 ++ .../internal/uri_too_long/index.html | 2 ++ .../query/cursor_invalid/index.html | 2 ++ .../request/access_profile_invalid/index.html | 2 ++ .../request/fields_invalid/index.html | 2 ++ .../request/media_type_unsupported/index.html | 2 ++ .../resource/not_found/index.html | 2 ++ .../service/not_ready/index.html | 2 ++ .../source/unavailable/index.html | 2 ++ public/profiles/index.html | 2 ++ public/profiles/registry-record/v1.html | 2 ++ .../index.html | 2 ++ .../index.html | 2 ++ .../runtime.v1alpha1.schema/index.html | 2 ++ .../identifiers/catalog.v1.schema/index.html | 2 ++ public/schemas/index.html | 2 ++ public/schemas/registry-record/v1.html | 2 ++ .../registry-relay/audit-event/v2alpha1.html | 2 ++ .../registry.v2alpha1.schema/index.html | 2 ++ .../runtime.v2alpha1.schema/index.html | 2 ++ public/vocab/codelist/index.html | 4 +++- .../coordinateReferenceSystem/index.html | 4 +++- public/vocab/core/index.html | 4 +++- public/vocab/geometryType/index.html | 4 +++- public/vocab/handling/index.html | 4 +++- public/vocab/registry-record/index.html | 4 +++- public/vocab/sourceRequired/index.html | 4 +++- public/vocabularies/index.html | 2 ++ scripts/build.mjs | 19 +++++++++++++++++-- 86 files changed, 195 insertions(+), 10 deletions(-) diff --git a/public/404.html b/public/404.html index 5434f76..abc293f 100644 --- a/public/404.html +++ b/public/404.html @@ -25,6 +25,7 @@ Documentation +

    Not found

    @@ -49,6 +50,7 @@

    Browse the published identifiers

+