Client
A discovery client retrieves brand manifests, sends registry searches, validates responses, and reports endorsement-check outcomes. The calling application identifies the intended brand, evaluates trust and suitability, and chooses an agent.
Registry search
Section titled “Registry search”Choose a registry and an exact Open Service Directory (OSD) contract version. Build the request under that release’s search schema, bind any namespaced filter terms in the query context, and send the version in OSD-Accept-Contract-Version.
Before interpreting a response, require OSD-Contract-Version to equal the requested version and validate the body against that release. Report missing or mismatched versions, invalid responses, and transport failures distinctly from a successful search with no candidates.
Preserve complete entries and source annotations. Treat pagination tokens as opaque and pass them back unchanged. Don’t rewrite entries or hide sources under an implicit trust policy.
Brand endorsement checks
Section titled “Brand endorsement checks”For a registry candidate, retrieve https://{osd:brandDomain}/.well-known/ard.json from the domain
identified as the intended brand’s, validate it, and compare the complete candidate with its entries
as defined in the OSD entry requirements.
Report the outcome case clearly (Match, Mismatch, or Inconclusive due to retrieval or validation failures). Do not reduce these to a single boolean value. Keep schema validity, structural matching, and any cryptographic verification separate. A single “trusted” boolean would hide these distinctions.
Direct domain discovery uses the same manifest validation, with the domain itself supplying the evidence. See Discover support for both paths.
Selection and connection
Section titled “Selection and connection”The application decides which business the customer means, which sources to use, and whether a candidate fits. It owns clarification, trust policy, customer-data disclosure, and confirmations.
After selection, protocol client code uses the entry’s artifact to connect to the agent, for example over MCP or A2A. The agent enforces authentication and permissions. The application obtains any required customer confirmation.
