## LLM-friendly access surface — /llms.txt, /llms-full.txt, agent-content manifest + Agents page

The shipped pages are JS-rendered inside an isolated frame, so an agent that fetches a URL sees an empty shell. This release publishes the site's content as static text an LLM can read directly, plus a human-facing page that documents it.

**Three static artifacts, one source of truth.** All three are generated in `build.js` from `src/data/site-content.json` (canonical positioning + concepts + pricing + partners) and the library content, so they cannot drift from the site:
- `/llms.txt` — the llmstxt.org curated Markdown index: pitch, core concepts in brief, page links, and pointers to the deeper formats.
- `/llms-full.txt` — the entire site as one Markdown document: positioning, the no-deny mechanic, the mandate, the foundation, pricing (with the maintain/scale/secure axes), partners, and all ten library articles in full.
- `/.well-known/agent-content.json` — a structured manifest: site metadata, an enumerated concept list with stable ids, the pricing model, page URLs, a library index, and artifact pointers, for deterministic parsing.

**Agents page** (`agents.html`, order 80) — a human-facing explainer of the access surface: the three formats, `curl`/`jq` usage, an honest "fetch, don't scrape" note, and the framing that a product governing agent access should publish a clean one of its own (granted-by / scope / format / freshness / licence). Self-contained, same header/menu/switcher as every page.

**Build.** `buildLlm()` runs after the gates pass and emits the three files; sizes are reported. These are plain static files (not framed pages), so the vault contract's inline rules and the contract scan don't apply to them; they're served from the domain root at riskmandate.ai. No new design snapshot — the switcher default stays v0.5.1; this bumps the release marker to 0.5.5.
