AI Catalog entry URLs valid
What it checks
Broken service URLs in your AI catalog cause agents to fail when trying to use your services, creating a poor user experience. Verify all URLs are correct, deployed, and returning HTTP 200.
Why it matters
A discovery client follows an entry’s url to reach the artifact it advertises. For catalog- or registry-typed entries, it follows that url into a nested catalog. One dead url therefore does not degrade a listing. It truncates a whole branch of discovery.
Evidence
ARD entries[].url dereferenced by real clients
hf-discover’snavigate()uses an entry’surlto traverse into nested catalogs and federated registries, fetching entries whosetypeis a catalog or registry media type — github.com/…/hf-discover (verified 2026-08-24)- Independent implementations check liveness explicitly:
HelgeSverre/ardvarkshipsinternal/crawlerandinternal/probe, andiFurySt/OpenARDshipsinternal/cli/verify.go. - Live manifests point at operational endpoints an agent would call immediately: Neon’s ten entries are MCP servers and skills, Weaviate’s nine are docs, agent skills, an OpenAPI description and a sitemap, and Shopware’s is a Store-API MCP server url.
- ARD §4.2 requires exactly one of
urlordataper entry, so an entry that embeds its artifact has no endpoint to dereference and is fully conformant — github.com/…/ard-spec (verified 2026-08-24)
Limits
No vendor document states that a crawler penalises or downranks a site for a dead catalog url. The consequence is mechanical rather than a published ranking signal: traversal stops, and the tool call fails. The federation-following behaviour also lives in a user-driven client. Hugging Face’s hosted server states that “Navigation is intentionally not exposed by the hosted server”. ARD itself is a draft (v0.9). The inline-data case above is also a live false-positive risk that any liveness check must respect. The pre-2026-08-22 implementation was unreachable on real sites for the opposite reason. It aborted unless the manifest exposed a services array, which no spec or deployment uses.
How it scores
The dereferencing is done by real, readable code in more than one implementation, which is stronger than a convention. It is not A for two reasons: no vendor documents a penalty for a dead url, and the traversing client is user-driven rather than a hosted crawler.
Sources
- huggingface/hf-discover — Hugging Face, repo (verified 2026-08-24)
- ards-project/ard-spec (repository) — ards-project / Linux Foundation, repo (verified 2026-08-24)