Skip to content
Registry StackDocsv0.41.0

Discovery as an index

View as Markdown

Registry Discovery is a curated, read-only index of public Evidence Gateway descriptions. A catalog operator chooses which descriptions to publish. Applications can search those descriptions and make their own explicit selection.

The index publishes inert public metadata:

  • provider and service identifiers;
  • operator and jurisdiction identifiers;
  • Evidence Type mappings and capability identifiers;
  • provider base URLs; and
  • catalog revision and origin provenance.

Discovery does not authenticate a provider, authorize a caller, proxy a native request, carry a credential, issue an assertion, or rank providers.

An application resolves a requirement and jurisdiction to Evidence Type alternatives. Each alternative is an AND-list, so the application searches and selects one provider for every required type. The client validates the closed selection structure and capability binding before an application-supplied local policy accepts it.

Acceptance is synchronous and local. Successful acceptance creates an ephemeral object exposing the advertised base URL. The application supplies credentials and invokes Evidence Gateway only after that decision. Persisted selections can be revalidated, but a selection never becomes a trust anchor.

The published registry-discovery-v1alpha1 profile resources are immutable and continue to validate historical provider descriptions, including capabilities no longer maintained by the current stack. Current publication, index, query, and client contracts support Evidence Gateway only.

An operator upgrading a mixed pre-retirement index must remove retired-provider origins and rebuild the package. Existing wire hashes and published profile resources do not change.

discoveryctl check validates the authored project, and discoveryctl package creates an immutable package. The runtime verifies SHA256SUMS and an optional expected digest before serving the package. Updating the index means building and reviewing a new package, then restarting the runtime.