Expand description
Logical registry handler (feature = “server”).
Wires PublishValidator together with a RegistryStore backend
to provide the seven core registry operations enumerated in
RFC-ACDP-0003 §2.1 and RFC-ACDP-0005:
- capabilities — return the
CapabilitiesDocument. - publish — validate, verify signature, assign identifiers, persist.
- retrieve — fetch a stored body + registry_state (visibility-filtered).
- retrieve_body — fetch just the body (visibility-filtered).
- lineage / current — lineage graph queries.
- search — keyword + filter projection (visibility-filtered).
This is the building block an HTTP-binding layer can sit on top of; the integration tests in this crate exercise it directly without mocking.
§Conformant publish
RegistryServer::publish_verified runs the full RFC-ACDP-0003 §2.1
algorithm — structural validation, hash recomputation, DID resolution,
signature verification — before persistence. It requires the client
feature for acdp_did::WebResolver.
RegistryServer::publish_unverified_for_tests (and its
idempotency/tenant-capable sibling
RegistryServer::publish_unverified_in_tenant_for_tests) perform
only steps 1–6 (skipping DID resolution + signature verification)
and are intentionally not RFC-conformant; use only in tests
where DID resolution would require a live network or mock server.
Structs§
- Registry
Server - Logical registry handler over an arbitrary
RegistryStore.