# ARD Discovery Mechanisms Once a publisher has written an [[AI Catalog (ai-catalog.json)|ai-catalog.json]], something has to find it. The [[Agentic Resource Discovery Specification (ARD)|ARD]] defines four ways to advertise a catalog so registries and agents can locate it. This is the static "publish" side of discovery, before any search service gets involved. ## The four mechanisms 1. **Well-known URI** (the primary one). Host the catalog at the conventional path: ``` https://<domain>/.well-known/ai-catalog.json ``` If a crawler finds nothing else, this is where it looks. Borrowed directly from how `robots.txt` and `security.txt` work. 2. **Agentmap directive.** A line in `robots.txt` that points to a catalog hosted somewhere non-standard: ``` Agentmap: https://example.com/catalog.json ``` Same idea as the `Sitemap:` directive, just for capabilities. 3. **HTML link tag.** A tag in the page `<head>` (or the equivalent HTTP `Link` header): ```html <link rel="ai-catalog" href="/catalog.json" type="application/ai-catalog+json"> ``` 4. **DNS records.** Service-binding records that point at a catalog or a live search endpoint: - `_catalog._agents.example.com` → the static manifest - `_search._agents.example.com` → a dynamic [[Agent Registry (ARD)|Agent Registry]] search endpoint ## How an agent resolves it The lookup order is deliberately forgiving. An agent fetches a URL, then: 1. Checks the HTTP response headers for a `Link` header with `rel="ai-catalog"`. 2. If none, and the response is HTML, parses the body for a `<link rel="ai-catalog">` tag. 3. If still nothing, falls back to `/.well-known/ai-catalog.json`. If what it finds is `application/ai-catalog+json` with a valid `specVersion`, it treats that as the site's catalog. ## Why it's built this way I like that this reuses patterns the web already understands. Robots directives, well-known paths, DNS service records, HTML link relations: none of it is new infrastructure. A publisher can advertise capabilities using whatever they already control, and there's no central gatekeeper deciding who gets listed. That's the same philosophy as a sitemap, applied to agents instead of pages. It's the right altitude for something that wants to work across the whole web rather than inside one vendor's walled garden. ## References - https://agenticresourcediscovery.org/ - https://agenticresourcediscovery.org/how_to_publish/ - https://github.com/ards-project/ard-spec ## Related - [[Agentic Resource Discovery Specification (ARD)]] - [[AI Catalog (ai-catalog.json)]] - [[Agent Registry (ARD)]]