Preview release. These docs are a work in progress. Pages are still being written, links may break, and structure may shift without notice. Treat everything here as a draft and report issues on GitHub.
Registry Manifest reference
Use this page to look up CLI subcommand flags, manifest key definitions, federation metadata, publish output paths, and the runtime-only key list. Hand-maintained from the upstream repo; see per-section source links to verify.
CLI subcommands
Section titled “CLI subcommands”Source:
crates/registry-manifest-cli/src/main.rs
validate
Section titled “validate”Parses and validates a manifest. Prints "metadata manifest valid: <path>" on success. Exits non-zero and prints all errors on failure.
validate <metadata.yaml>render
Section titled “render”Compiles the manifest and writes one renderer’s output to stdout.
render <metadata.yaml> --format <format> [--profile <id>] [--dataset <id>] [--entity <name>] [--form <id>] [--offering <id>]publish
Section titled “publish”Compiles the manifest, runs all renderers, writes the full artifact tree to <dir>, and writes index.json.
publish <metadata.yaml> --out <dir>validate-profiles
Section titled “validate-profiles”Scans profiles-dir for profile.yaml descriptors, validates descriptor schema, and validates all referenced fixture manifests.
validate-profiles [profiles-dir]Render format values
Section titled “Render format values”The --format flag on render accepts:
Terms used in the table include Data Catalog Vocabulary (DCAT), BRegDCAT-AP, Core Public Service
Vocabulary Application Profile (CPSV-AP), Shapes Constraint Language (SHACL), and Open Digital
Rights Language (ODRL).
| Format value | Required flags | Output |
|---|---|---|
catalog | None | Catalog JSON |
evidence-offerings | None | All evidence offerings JSON |
evidence-offering | --offering <id> | Single evidence offering JSON |
policies | None | ODRL policy collection JSON-LD |
policy | --dataset <id> | Per-dataset ODRL policy document JSON-LD |
dcat | --profile <id> optional | Base DCAT JSON-LD. With --profile bregdcat-ap, renders the BRegDCAT-AP 2.00 variant. --profile dcat and --profile dcat-ap also render base DCAT. |
bregdcat-ap | None | BRegDCAT-AP 2.00 JSON-LD (shorthand; equivalent to --format dcat --profile bregdcat-ap) |
cpsv-ap | None | CPSV-AP 3.2.0 service catalogue JSON-LD |
shacl | None | SHACL node shapes JSON-LD |
json-schema | --dataset <id> and --entity <name> | JSON Schema Draft 2020-12 |
form-json-schema | --form <id> | Form JSON Schema Draft 2020-12 |
ogc-records | None | OGC API Records item bodies JSON |
Valid --profile values for --format dcat: dcat, dcat-ap (both render base DCAT), and bregdcat-ap (renders BRegDCAT-AP 2.00).
Use --format cpsv-ap for the service catalogue rather than --format dcat --profile cpsv-ap.
Manifest top-level keys
Section titled “Manifest top-level keys”Schema version enforced: registry-manifest/v1.
Source:
crates/registry-manifest-core/src/lib.rs
(line 19 for MetadataManifest).
| Key | Type | Required | Description |
|---|---|---|---|
schema_version | string | Yes | Must equal "registry-manifest/v1". |
catalog | CatalogManifest | Yes | Catalog title, publisher, base URL, application profiles list, standards versions. |
datasets | list of DatasetManifest | Yes | One entry per dataset. |
vocabularies | map | No | Prefix expansions used by concept, requirement, form, and evidence references. |
profiles | list of ProfileClaim | No | Local profile claims included in catalog output. |
requirements | list of RequirementManifest | No | CCCEV-aligned requirement definitions. |
evidence_types | list of EvidenceTypeManifest | No | Evidence type definitions. |
authorities | list of AuthorityManifest | No | Public authority records referenced by public services. |
public_services | list of ServiceManifest | No | CPSV-AP public services and channels. |
data_services | list of DataServiceManifest | No | DCAT data services referenced by services and evidence offerings. |
forms | list of FormManifest | No | Local form-profile records linked from public services and channels. |
codelists | list of CodelistManifest | No | Enumerated value schemes with concept URIs. |
federation | FederationManifest | No | Public Registry Notary federation metadata for delegated evaluation. |
evaluation_profiles | list of EvaluationProfileManifest | No | Public profile-to-ruleset bindings for Registry Notary delegated evaluation. |
CatalogManifest keys
Section titled “CatalogManifest keys”| Key | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Human-readable catalog title. |
publisher | string | Yes | Publisher name. |
base_url | string | Yes | HTTP URL used as the base for all relative artifact references. |
application_profiles | list of strings | No | Profile IDs the catalog declares support for (for example, "bregdcat-ap"). |
standards | StandardsManifest | No | Declares DCAT, SHACL, and JSON Schema versions in use. |
DatasetManifest keys (common keys; see source for the full type definition)
Section titled “DatasetManifest keys (common keys; see source for the full type definition)”| Key | Description |
|---|---|
id | Dataset identifier string (alphanumeric and dashes). Must be unique. |
title | Human-readable dataset title. |
entities | List of EntityManifest entries describing domain resources and their fields. |
policies | List of DatasetPolicyManifest entries describing ODRL access policies. |
evidence_offerings | List of EvidenceOfferingManifest entries. |
public_services | Dataset-scoped public registry services, when a dataset is itself the produced registry resource. |
codelists | List of codelist IDs referenced by this dataset’s fields. |
Service-first keys
Section titled “Service-first keys”| Key | Description |
|---|---|
public_services[].holds_requirements | Requirement IDs rendered as cv:holdsRequirement. |
public_services[].channels | CPSV-AP channel records for online, office, phone, or other access paths. |
public_services[].forms | Form IDs linked through the local registry_manifest:hasForm predicate. |
requirements[].evidence_type_lists | Grouped CCCEV evidence options. All evidence types inside one list are required together; multiple lists are alternatives. |
forms[].sections[].fields[].concept | Information concept IRI collected by the form field. |
forms[].sections[].fields[].supports_requirement | Requirement ID supported by the field. |
forms[].sections[].fields[].fulfillment | Manual input, file upload, registry lookup, evidence exchange, self-declaration, or already-known mode metadata. |
Federation metadata keys
Section titled “Federation metadata keys”Registry Manifest federation metadata supports Registry Notary static-peer delegated evaluation. It is public discovery metadata, not an access grant.
Fields of FederationManifest.
| Key | Required | Description |
|---|---|---|
node_id | Yes | Publishing Notary node id. MVP validation requires did:web. |
issuer | Yes | HTTPS issuer URL. Host must bind to the did:web node id. |
jwks_uri | Yes | HTTPS JWKS URL partners use to verify signed federation responses. |
federation_api | Yes | HTTPS federation API base URL. |
supported_protocol_versions | Yes | Must include registry-notary-federation/v0.1. |
Fields of EvaluationProfileManifest.
| Key | Required | Description |
|---|---|---|
id | Yes | Public profile id. Must be unique. |
ruleset | Yes | Public ruleset id. Must be unique and referenced by registry-notary offerings. |
claim_id | Yes | Notary claim id evaluated for the profile. |
subject_id_type | Yes | Subject id type the profile accepts. |
max_source_observed_age_seconds | No | Optional public freshness hint. Runtime enforcement is in Registry Notary config. |
For EvidenceOfferingAccessManifest with kind: registry-notary:
conforms_tomust beregistry-notary-federation/v0.1.endpoint_urlmust be HTTPS.discovery_urlmust be HTTPS.rulesetmust reference an existingevaluation_profiles[].ruleset.- A top-level
federationblock is required.
Runtime-only keys
Section titled “Runtime-only keys”The following keys must not appear in a portable manifest.
Their presence causes validate-profiles to fail.
They belong in Registry Relay or Registry Notary runtime configuration, not in a metadata manifest.
source, table, scope, url, url_env, file_path, query, required_filters,
rows_scope, bindings, capabilities, column, visibility
Registry Notary federation secrets, peer allowlists, replay store settings, signing keys, and source scopes are runtime config, not portable manifest fields.
Schema versions
Section titled “Schema versions”The three schema version strings are: metadata manifest (registry-manifest/v1), profile descriptor (registry-manifest-profile/v1), and publish index (registry-manifest-index/v1).
Publish output artifacts
Section titled “Publish output artifacts”Source:
crates/registry-manifest-cli/src/main.rs
(lines 97 to 221).
All paths are relative to the --out directory.
| Artifact path | Format | Source renderer |
|---|---|---|
metadata.yaml | YAML | Copy of input manifest |
catalog.json | JSON | render_catalog() |
dcat.jsonld | JSON-LD | render_base_dcat() |
cpsv-ap | JSON-LD | render_cpsv_ap() when the catalog declares the cpsv-ap profile |
cpsv-ap.jsonld | JSON-LD | render_cpsv_ap() when the catalog declares the cpsv-ap profile |
dcat.<profile-id>.jsonld | JSON-LD | render_dcat_profile() per application profile |
shacl.jsonld | JSON-LD | render_shacl() |
evidence-offerings.json | JSON | render_evidence_offerings() |
evidence-offerings/<offering-id>.json | JSON | render_evidence_offering() per offering |
policies.jsonld | JSON-LD | render_policy_collection() |
policies/<dataset-id>.jsonld | JSON-LD | render_dataset_policy_document() per dataset |
schema/<dataset-id>/<entity-name>/schema.json | JSON Schema Draft 2020-12 | render_entity_schema_draft_2020_12() per entity |
forms/<form-id>/schema.json | JSON Schema Draft 2020-12 | render_form_schema_draft_2020_12() per form |
profiles/<profile-id>.json | JSON | Compiled profile structure |
index.json | JSON | Bundle manifest index (schema version registry-manifest-index/v1) |
The index.json structure contains the schema version, paths to all artifacts, and an array
of document entries each with their URL list.
Source:
crates/registry-manifest-cli/src/main.rs
Minimal example shape:
{ "schema_version": "registry-manifest-index/v1", "documents": [ { "urls": ["https://registry.example.gov/metadata/dcat"], "path": "dcat.jsonld" }, { "urls": ["https://registry.example.gov/metadata/shacl"], "path": "shacl.jsonld" } ], "service_catalogues": [ { "id": "cpsv-ap", "version": "3.2.0", "url": "/metadata/cpsv-ap" } ], "form_schemas": [ { "form": "child-support-review-form", "url": "/metadata/forms/child-support-review-form/schema.json" } ]}Golden fixture coverage
Section titled “Golden fixture coverage”The test suite in
crates/registry-manifest-core/tests/metadata_core.rs
asserts exact output for the following renderer and profile combinations.
These golden files live under crates/registry-manifest-core/tests/fixtures/golden/.
| Golden file | Renderer | Profile |
|---|---|---|
example-civil-registration.catalog.json | render_catalog() | example-civil-registration |
example-civil-registration.base-dcat.json | render_base_dcat() | example-civil-registration |
example-civil-registration.breg-dcat-ap.json | render_breg_dcat_ap() | example-civil-registration |
example-civil-registration.shacl.json | render_shacl() | example-civil-registration |
example-social-benefits.enrollment.schema.json | render_entity_schema_draft_2020_12() | example-social-benefits |
example-benefits-sync.ogc-records-items.json | render_ogc_records_items() | example-benefits-sync |