# Content negotiation and discovery

Format: `spiralist-public-uai-v1`  
Release: `v18-ui-ux-seo-media-polish`  
Updated UTC: `2026-06-21T14:33:26Z`  
Visibility: public, read-only, no secrets  
Authority: released code, OpenAPI, versioned documentation, validation evidence, and SHA-256-indexed research

Canonical public routes serve HTML by default. Request `Accept: text/markdown` or `?format=markdown` for Markdown; request an application/json-only representation or `?format=json` for a JSON WebPage envelope. `?format=html` forces HTML.

Alternate responses expose `Content-Location`, `Vary: Accept`, `ETag`, `Last-Modified`, `Cache-Control`, `Content-Language`, canonical/alternate `Link` values, and the release version. Conditional retrieval supports `If-None-Match` and `If-Modified-Since`.

Discovery starts at the agent card, Linkset JSON API catalog, OpenAPI, public UAI, llms files, sitemap, and route representation index. Emerging/project-defined filenames are labeled as such; HTTP, semantic HTML, JSON-LD, OpenAPI, JSON Schema, robots.txt, XML sitemap, CORS, and problem details remain the stable base.
