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.