diff --git a/docs/site/public/images/solmara-lab-topology.svg b/docs/site/public/images/solmara-lab-topology.svg
index 3e729ae3d..8b5d8064a 100644
--- a/docs/site/public/images/solmara-lab-topology.svg
+++ b/docs/site/public/images/solmara-lab-topology.svg
@@ -2,7 +2,7 @@
font-family="'Public Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif"
text-rendering="geometricPrecision">
Historical Solmara Lab compose topology, the Evidence Gateway path
- The retired five-hop demo topology. One, your shell signs a request with the demo caller's own key and sends it to Registry Mint on host port 4341. Two, Mint returns a short-lived access token. Three, your shell presents that token to Evidence Gateway on host port 4343 and asks one question: is this subject an adult. Four, the historical Evidence Gateway deployment reads two fields of one row, uin and birth_date, from the Civil Registration Authority's records Relay on host port 4342, under the recorded purpose adult-status-verification. Five, Evidence Gateway returns a signed answer carrying true or false and no record. Current Evidence Gateway deployments no longer use Registry Relay as a source.
+ The retired five-hop demo topology. One, your shell signs a request with the demo caller's own key and sends it to Registry Mint on host port 4341. Two, Mint returns a short-lived access token. Three, your shell presents that token to Evidence Gateway on host port 4343 and asks one question: is this subject an adult. Four, the historical Evidence Gateway deployment reads two fields of one row, uin and birth_date, from the Civil Registration Authority's records Relay on host port 4342, under the recorded purpose adult-status-verification. Five, Evidence Gateway returns a signed answer carrying true or false and no record. Evidence Gateway does not require Registry Relay as a source.
HISTORICAL SOLMARA LAB ยท EVIDENCE GATEWAY PATH
diff --git a/docs/site/src/content/docs/explanation/architecture.mdx b/docs/site/src/content/docs/explanation/architecture.mdx
index 85ef6522b..04a842f48 100644
--- a/docs/site/src/content/docs/explanation/architecture.mdx
+++ b/docs/site/src/content/docs/explanation/architecture.mdx
@@ -52,8 +52,15 @@ At runtime, Registry Stack exposes source data through two patterns:
The two patterns are independent. Evidence Gateway contacts its configured authoritative HTTP
sources directly. It does not require Registry Relay or inherit Relay authorization. A deployment
can configure a Relay-protected API as a fixed HTTP source, but Relay remains an ordinary source
-rather than part of the Evidence Gateway product boundary. The retired Solmara workflow is not a
-current integration path.
+rather than part of the Evidence Gateway product boundary. The separate Solmara Lab demo makes that
+choice for some of its requirements: an authority's Evidence Gateway cell reads a named Relay
+lookup as one of its sources, and inherits no Relay authorization from it.
+
+{/* TODO[evidence]: which Solmara Lab requirements read a Relay lookup cannot be anchored from
+this repository. That mapping lives with the deployment configuration in the separate
+registrystack/solmara-lab project, described in the README pinned from src/data/projects.yaml.
+The claim above is weakened to match: some requirements, not a named set. Restore the enumeration
+once that configuration is citable from here. */}
This split matters because it separates the obligation to describe (what a registry declares it can expose
and under what policy) from the obligation to enforce (what a running service will actually return to an
diff --git a/docs/site/src/content/docs/map/boundaries-and-map.mdx b/docs/site/src/content/docs/map/boundaries-and-map.mdx
index d7545354a..0cc37fcba 100644
--- a/docs/site/src/content/docs/map/boundaries-and-map.mdx
+++ b/docs/site/src/content/docs/map/boundaries-and-map.mdx
@@ -66,7 +66,7 @@ For how the products connect at runtime and how Solmara Lab demonstrates them, s
| How is `metadata.yaml` validated or rendered into standards-facing artifacts? | [Registry Manifest](https://github.com/registrystack/registry-stack) |
| How is one bounded question about one subject answered with a signed assertion that carries the answer and not the record? | [Evidence Gateway](../../products/registry-evidence/) |
| How does a deployment with callers and no identity provider issue access tokens? | [Registry Mint](../../reference/mint/) |
-| How do the services run together in a local demo? | [Solmara Lab](https://github.com/registrystack/solmara-lab/blob/00cd51a2be4a405ef75d337ddcede0f9de134b1f/README.md) |
+| How do the services run together in a local demo? | [Solmara Lab](https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/README.md) |
Cross-project explanation, standards evidence, and contract indexes live in these docs (not in any one project repo).
diff --git a/docs/site/src/content/docs/tutorials/first-run-with-solmara-lab.mdx b/docs/site/src/content/docs/tutorials/first-run-with-solmara-lab.mdx
index b81dc6ae3..49a30edc9 100644
--- a/docs/site/src/content/docs/tutorials/first-run-with-solmara-lab.mdx
+++ b/docs/site/src/content/docs/tutorials/first-run-with-solmara-lab.mdx
@@ -23,7 +23,7 @@ standards_referenced:
import QuickstartMeta from '../../../components/QuickstartMeta.astro';
import { Steps } from '@astrojs/starlight/components';
-This unpublished page records a retired demo topology. Evidence Gateway no longer uses Registry
+This unpublished page records a retired demo topology. Evidence Gateway does not require Registry
Relay as a source. Use the [Evidence Gateway quickstart](../../start/evidence-quickstart/) for the
current architecture and workflow.
diff --git a/docs/site/src/data/generated/projects.json b/docs/site/src/data/generated/projects.json
index 7b5ab2fda..8072e8a23 100644
--- a/docs/site/src/data/generated/projects.json
+++ b/docs/site/src/data/generated/projects.json
@@ -157,22 +157,42 @@
"name": "Solmara Lab",
"repo_path": "../solmara-lab",
"target_repo_path": "../solmara-lab",
- "role": "Standalone Registry Stack adopter demo for the fictional Republic of Solmara. Runs a whole country's worth of registry services over generated synthetic data, with purpose-limited Relay APIs per authority, a citizen portal, and a public Visitor's Center.",
+ "role": "Standalone Registry Stack adopter demo for the fictional Republic of Solmara. Runs a whole country's worth of registry services over generated synthetic data, with six authority-owned Evidence Gateway cells that have their own providers, issuers, signing keys, JWKS, and audit sinks, five purpose-limited Relay projects, one lab Mint, a programme portal, and a public Visitor's Center. Some requirements read checkpointed immutable SQLite extracts and others read named Relay lookups, and the programme application composes the signed answers so that no authority decides for another.",
"owns": [
- "End-to-end local and hosted demo topologies for Relay, workload identity agents, Postgres, static metadata, scenario services, the citizen portal, and the Visitor's Center.",
+ "End-to-end local and hosted demo topologies for the authority Evidence Gateway cells, their Relay projects, Mint, static metadata, scenario services, the programme portal, and the Visitor's Center.",
"Deterministic synthetic data, authority-owned demo configuration, purpose catalogues, and fictional country stories.",
+ "The demo publisher lifecycle that mutates a Relay-backed source live and republishes a named immutable extract that only a rebound cell serves.",
"Demo orchestration, smoke checks, browser journeys, hosted deployment wrappers, and release-pin checks."
],
"does_not_own": [
"Production deployment guidance.",
"Normative API or metadata contracts.",
- "Evidence Gateway deployment or integration.",
"Real product integrations for OpenCRVS, OpenSPP, DHIS2, OpenIMIS, MOSIP, or other systems."
],
"source_docs": [
{
"label": "README",
- "url": "https://github.com/registrystack/solmara-lab/blob/00cd51a2be4a405ef75d337ddcede0f9de134b1f/README.md"
+ "url": "https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/README.md"
+ },
+ {
+ "label": "Local topology",
+ "url": "https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/compose.yaml"
+ },
+ {
+ "label": "Evidence cells",
+ "url": "https://github.com/registrystack/solmara-lab/tree/3d5c492ea50c6fdcefd5978df6f036422096421c/evidence/cells"
+ },
+ {
+ "label": "Relay projects",
+ "url": "https://github.com/registrystack/solmara-lab/tree/3d5c492ea50c6fdcefd5978df6f036422096421c/relays"
+ },
+ {
+ "label": "Relay source publisher",
+ "url": "https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/scripts/local-relay-source-publisher.py"
+ },
+ {
+ "label": "Extract publisher",
+ "url": "https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/scripts/publish-runtime-extracts.py"
}
],
"rename_status": "Standalone replacement for the historical Registry Lab; not part of the Registry Stack monorepo."
diff --git a/docs/site/src/data/projects.yaml b/docs/site/src/data/projects.yaml
index c500759cb..d5f97a01d 100644
--- a/docs/site/src/data/projects.yaml
+++ b/docs/site/src/data/projects.yaml
@@ -110,17 +110,27 @@
name: Solmara Lab
repo_path: ../solmara-lab
target_repo_path: ../solmara-lab
- role: Standalone Registry Stack adopter demo for the fictional Republic of Solmara. Runs a whole country's worth of registry services over generated synthetic data, with purpose-limited Relay APIs per authority, a citizen portal, and a public Visitor's Center.
+ role: Standalone Registry Stack adopter demo for the fictional Republic of Solmara. Runs a whole country's worth of registry services over generated synthetic data, with six authority-owned Evidence Gateway cells that have their own providers, issuers, signing keys, JWKS, and audit sinks, five purpose-limited Relay projects, one lab Mint, a programme portal, and a public Visitor's Center. Some requirements read checkpointed immutable SQLite extracts and others read named Relay lookups, and the programme application composes the signed answers so that no authority decides for another.
owns:
- - End-to-end local and hosted demo topologies for Relay, workload identity agents, Postgres, static metadata, scenario services, the citizen portal, and the Visitor's Center.
+ - End-to-end local and hosted demo topologies for the authority Evidence Gateway cells, their Relay projects, Mint, static metadata, scenario services, the programme portal, and the Visitor's Center.
- Deterministic synthetic data, authority-owned demo configuration, purpose catalogues, and fictional country stories.
+ - The demo publisher lifecycle that mutates a Relay-backed source live and republishes a named immutable extract that only a rebound cell serves.
- Demo orchestration, smoke checks, browser journeys, hosted deployment wrappers, and release-pin checks.
does_not_own:
- Production deployment guidance.
- Normative API or metadata contracts.
- - Evidence Gateway deployment or integration.
- Real product integrations for OpenCRVS, OpenSPP, DHIS2, OpenIMIS, MOSIP, or other systems.
source_docs:
- label: README
- url: https://github.com/registrystack/solmara-lab/blob/00cd51a2be4a405ef75d337ddcede0f9de134b1f/README.md
+ url: https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/README.md
+ - label: Local topology
+ url: https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/compose.yaml
+ - label: Evidence cells
+ url: https://github.com/registrystack/solmara-lab/tree/3d5c492ea50c6fdcefd5978df6f036422096421c/evidence/cells
+ - label: Relay projects
+ url: https://github.com/registrystack/solmara-lab/tree/3d5c492ea50c6fdcefd5978df6f036422096421c/relays
+ - label: Relay source publisher
+ url: https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/scripts/local-relay-source-publisher.py
+ - label: Extract publisher
+ url: https://github.com/registrystack/solmara-lab/blob/3d5c492ea50c6fdcefd5978df6f036422096421c/scripts/publish-runtime-extracts.py
rename_status: Standalone replacement for the historical Registry Lab; not part of the Registry Stack monorepo.