The HTML pages use a modest cache window because the documents are small and may change during editing. That is enough to reduce repeated transfers without making stale pages linger for long.
The public structure changes more slowly than the text. Pages, JSON names and navigation labels are therefore treated as part of the site contract, while the wording inside each page can evolve as the notebook grows.
JSON snapshots are deliberately marked as static or build-time data. They describe what the site knows at publication time and avoid pretending to be a live monitoring feed.
Response headers are part of the public reading experience. Clear content types, a restrained cache policy and conservative browser permissions make a small site easier to inspect.
The site does not need cookies, forms, location access or device features. Keeping those features disabled reduces the number of surprising browser prompts and makes the public surface easier to reason about.
Security headers are kept boring on purpose. They describe a static document set: same-origin images and styles, no embedded frames, no form posts, and no extra client-side machinery.
A missing URL is still part of the site. Returning a designed not-found document gives visitors a clear path back to known pages and avoids a jarring default server response.
The not-found document links to the home page, API notes, indexing notes and status snapshot. That makes it useful during manual inspection without turning it into a search page or a noisy error screen.
The same visual system is used for the not-found page and the regular pages, so the site feels like one maintained notebook rather than a collection of unrelated files.