"""Build the static Agora site from its nouns. Stdlib only, except --pdf. Everything a page says is a noun kept as data, and this script holds only markup: * site/agent-brief.txt the starting brief for any agent, word for word; * site/content/site.json navigation, the agent banner, the endpoints, deck labels, the footer and its privacy line; * site/content/home.json the home page: the film, a statement in two labelled parts (the use case and the architecture underneath), the 1x3 product hub, and the decks; * site/content/decks-page.json the decks page; * site/content/use-cases.json the use cases page; each flagship names its library packs by id; * site/content/learning.json the learning page: the loop, measured results with evidence, rules, limits; * site/content/library.json the library page: every seed pack at one pinned commit, by category. Its measured part comes from scripts/sync_library.py, never from the network; * site/content/explorer.json the interactive Task and Task-Object explorer and Agent Harness Research Feeds; * site/content/ecosystem-catalog.json the 707-project Meta Hackathon 2026 public-scan decomposition; * site/content/film.json the full film's transcript and scene descriptions; * site/content/earlier-drafts.json earlier drafts, and the storyboards page; * site/content/moved.json pages that moved, which the not-found page lists; * site/content/how-it-works.json the how-it-works page: why, the map of nouns and verbs, a real run replayed, Herma and Tessera underneath, and the Meta model results it names from learning.json by model, so no number is typed twice; * site/content/real-run.json the replayed run: its facts and five steps, each with a hash, a receipt file under site/evidence/ and the trace and Tessera events it comes from. Only scripts/sync_real_run.py writes it, from the run's own records; * site/content/evidence.json the evidence page: one line for each served evidence folder and for each item of the repository's evidence/, and where the last live check is saved. The build fills each folder's files and the check's answers from the files; * site/decks//source/ each deck: deck.json, slides/*.html and an optional claims.json. What it writes: * every current deck, site/decks//index.html, from its source folder. The slide format's custom elements become HTML: and become inline SVG, the starting brief and the endpoint table. Each slide's