Intervention ledger
Every change, dated
What changed on this site, when, why, and what it was expected to do. Written before the outcome was known, and never edited afterwards: a correction gets a new entry.
before launch
Per-page modified dates
Every URL had carried the same lastmod, the data refresh stamp. Each page now takes its date from the last commit that changed the file its facts come from, and the JSON-LD agrees with the sitemap.
Why. One date across 673 URLs tells a crawler nothing about what moved, and it had already gone stale.
Expected. Better recrawl targeting after launch. Nothing measurable before it.
before launch
EntityMap index published
An entity-first index of the series and its characters, 38 entities and 89 relations, with a Wikidata identifier on every character and an HTML companion generated from the same data.
Why. Retrieval systems increasingly want entities rather than pages.
Expected. Unknown. Adoption of the format is early, which is the point of publishing it now.
before launch
Tool registry, MCP endpoint and server card
Eight deterministic lookup tools defined once and served as a JSON manifest, as an MCP endpoint over Streamable HTTP, and as api-catalog entries. No model generates an answer; every result is a lookup over the same rows the pages render.
Why. Everything the site can do should be callable, not just readable.
Expected. Closes the audit's MCP gap. Whether anything calls it is one of the questions the talk exists to answer.
before launch
Wrote the content: 461 episode summaries and 37 character profiles
Story summaries and sourced production notes for every episode, written from cited Wikipedia revisions, plus cast from the IMDb datasets and guest voices from TVmaze. Machine-checked for house style and for any run of eight words shared with the source.
Why. Until this point the site had facts but nothing to read. It is also what makes a which-episode lookup possible at all.
Expected. The interesting question. A readiness audit run afterwards scored the same band as before, so the content moved nothing by itself.
before launch
Cross-checked every episode against two independent sources
Wikidata and the IMDb non-commercial datasets, compared field by field. A disagreement blocks the build until it is corrected with a documented override or accepted with a written reason.
Why. A reference site is worth nothing if it is wrong, and a claim of accuracy is worth nothing if it is not mechanical.
Expected. No ranking effect. It is the reason the content can be trusted.
before launch
Agent-readiness stack
Chunked sitemaps, llms.txt, RSS and JSON feeds, per-type schema endpoints, schemamap, RFC 9727 api-catalog, security.txt, tdmrep.json, Content-Signal in robots.txt, Link headers advertising all of it, and conditional requests through the Worker.
Why. The launch state is the frozen baseline. Everything here had to be in place before launch so that later changes are attributable.
Expected. No immediate effect while gated. This is the baseline the talk measures from.
before launch
Site built and gated
Astro build on Cloudflare Workers: episode database from a Wikipedia seed, markdown twin of every page, client-side search. Put behind HTTP Basic Auth so nothing was crawlable.
Why. The experiment needs a site that exists before it needs a site that is indexed.
Expected. No effect. Nothing could reach it.