Skip to content
Registry stack docs v0 · draft

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.

Source: crates/registry-manifest-cli/src/main.rs

Parses and validates a manifest. Prints "metadata manifest valid: <path>" on success. Exits non-zero and prints all errors on failure.

validate <metadata.yaml>

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>]

Compiles the manifest, runs all renderers, writes the full artifact tree to <dir>, and writes index.json.

publish <metadata.yaml> --out <dir>

Scans profiles-dir for profile.yaml descriptors, validates descriptor schema, and validates all referenced fixture manifests.

validate-profiles [profiles-dir]

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 valueRequired flagsOutput
catalogNoneCatalog JSON
evidence-offeringsNoneAll evidence offerings JSON
evidence-offering--offering <id>Single evidence offering JSON
policiesNoneODRL policy collection JSON-LD
policy--dataset <id>Per-dataset ODRL policy document JSON-LD
dcat--profile <id> optionalBase 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-apNoneBRegDCAT-AP 2.00 JSON-LD (shorthand; equivalent to --format dcat --profile bregdcat-ap)
cpsv-apNoneCPSV-AP 3.2.0 service catalogue JSON-LD
shaclNoneSHACL 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-recordsNoneOGC 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.

Schema version enforced: registry-manifest/v1. Source: crates/registry-manifest-core/src/lib.rs (line 19 for MetadataManifest).

KeyTypeRequiredDescription
schema_versionstringYesMust equal "registry-manifest/v1".
catalogCatalogManifestYesCatalog title, publisher, base URL, application profiles list, standards versions.
datasetslist of DatasetManifestYesOne entry per dataset.
vocabulariesmapNoPrefix expansions used by concept, requirement, form, and evidence references.
profileslist of ProfileClaimNoLocal profile claims included in catalog output.
requirementslist of RequirementManifestNoCCCEV-aligned requirement definitions.
evidence_typeslist of EvidenceTypeManifestNoEvidence type definitions.
authoritieslist of AuthorityManifestNoPublic authority records referenced by public services.
public_serviceslist of ServiceManifestNoCPSV-AP public services and channels.
data_serviceslist of DataServiceManifestNoDCAT data services referenced by services and evidence offerings.
formslist of FormManifestNoLocal form-profile records linked from public services and channels.
codelistslist of CodelistManifestNoEnumerated value schemes with concept URIs.
federationFederationManifestNoPublic Registry Notary federation metadata for delegated evaluation.
evaluation_profileslist of EvaluationProfileManifestNoPublic profile-to-ruleset bindings for Registry Notary delegated evaluation.
KeyTypeRequiredDescription
titlestringYesHuman-readable catalog title.
publisherstringYesPublisher name.
base_urlstringYesHTTP URL used as the base for all relative artifact references.
application_profileslist of stringsNoProfile IDs the catalog declares support for (for example, "bregdcat-ap").
standardsStandardsManifestNoDeclares 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)”
KeyDescription
idDataset identifier string (alphanumeric and dashes). Must be unique.
titleHuman-readable dataset title.
entitiesList of EntityManifest entries describing domain resources and their fields.
policiesList of DatasetPolicyManifest entries describing ODRL access policies.
evidence_offeringsList of EvidenceOfferingManifest entries.
public_servicesDataset-scoped public registry services, when a dataset is itself the produced registry resource.
codelistsList of codelist IDs referenced by this dataset’s fields.
KeyDescription
public_services[].holds_requirementsRequirement IDs rendered as cv:holdsRequirement.
public_services[].channelsCPSV-AP channel records for online, office, phone, or other access paths.
public_services[].formsForm IDs linked through the local registry_manifest:hasForm predicate.
requirements[].evidence_type_listsGrouped CCCEV evidence options. All evidence types inside one list are required together; multiple lists are alternatives.
forms[].sections[].fields[].conceptInformation concept IRI collected by the form field.
forms[].sections[].fields[].supports_requirementRequirement ID supported by the field.
forms[].sections[].fields[].fulfillmentManual input, file upload, registry lookup, evidence exchange, self-declaration, or already-known mode metadata.

Registry Manifest federation metadata supports Registry Notary static-peer delegated evaluation. It is public discovery metadata, not an access grant.

Fields of FederationManifest.

KeyRequiredDescription
node_idYesPublishing Notary node id. MVP validation requires did:web.
issuerYesHTTPS issuer URL. Host must bind to the did:web node id.
jwks_uriYesHTTPS JWKS URL partners use to verify signed federation responses.
federation_apiYesHTTPS federation API base URL.
supported_protocol_versionsYesMust include registry-notary-federation/v0.1.

Fields of EvaluationProfileManifest.

KeyRequiredDescription
idYesPublic profile id. Must be unique.
rulesetYesPublic ruleset id. Must be unique and referenced by registry-notary offerings.
claim_idYesNotary claim id evaluated for the profile.
subject_id_typeYesSubject id type the profile accepts.
max_source_observed_age_secondsNoOptional public freshness hint. Runtime enforcement is in Registry Notary config.

For EvidenceOfferingAccessManifest with kind: registry-notary:

  • conforms_to must be registry-notary-federation/v0.1.
  • endpoint_url must be HTTPS.
  • discovery_url must be HTTPS.
  • ruleset must reference an existing evaluation_profiles[].ruleset.
  • A top-level federation block is required.

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.

The three schema version strings are: metadata manifest (registry-manifest/v1), profile descriptor (registry-manifest-profile/v1), and publish index (registry-manifest-index/v1).

Source: crates/registry-manifest-cli/src/main.rs (lines 97 to 221).

All paths are relative to the --out directory.

Artifact pathFormatSource renderer
metadata.yamlYAMLCopy of input manifest
catalog.jsonJSONrender_catalog()
dcat.jsonldJSON-LDrender_base_dcat()
cpsv-apJSON-LDrender_cpsv_ap() when the catalog declares the cpsv-ap profile
cpsv-ap.jsonldJSON-LDrender_cpsv_ap() when the catalog declares the cpsv-ap profile
dcat.<profile-id>.jsonldJSON-LDrender_dcat_profile() per application profile
shacl.jsonldJSON-LDrender_shacl()
evidence-offerings.jsonJSONrender_evidence_offerings()
evidence-offerings/<offering-id>.jsonJSONrender_evidence_offering() per offering
policies.jsonldJSON-LDrender_policy_collection()
policies/<dataset-id>.jsonldJSON-LDrender_dataset_policy_document() per dataset
schema/<dataset-id>/<entity-name>/schema.jsonJSON Schema Draft 2020-12render_entity_schema_draft_2020_12() per entity
forms/<form-id>/schema.jsonJSON Schema Draft 2020-12render_form_schema_draft_2020_12() per form
profiles/<profile-id>.jsonJSONCompiled profile structure
index.jsonJSONBundle 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"
}
]
}

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 fileRendererProfile
example-civil-registration.catalog.jsonrender_catalog()example-civil-registration
example-civil-registration.base-dcat.jsonrender_base_dcat()example-civil-registration
example-civil-registration.breg-dcat-ap.jsonrender_breg_dcat_ap()example-civil-registration
example-civil-registration.shacl.jsonrender_shacl()example-civil-registration
example-social-benefits.enrollment.schema.jsonrender_entity_schema_draft_2020_12()example-social-benefits
example-benefits-sync.ogc-records-items.jsonrender_ogc_records_items()example-benefits-sync