Resolves the actionable drift the cycle-close architect review found:
- Ship registry.toml (the spec's acceptance artifact) for aura + data-server,
so `docsite serve`/`check` run out of the box — the headline live-render was
not runnable as shipped without it.
- Cache before fetch: the page handler now resolves the branch SHA, serves
from cache on a hit, and only fetches the source on a miss (the spec
data-flow). The pre-tidy handler always fetched, paying a wasted Gitea read
on every cache hit. A new e2e test (a counting fetcher) pins that a second
request serves from cache without re-fetching.
- Escape the registry slug/page in nav_html's href and the index links —
operator-trusted data, but consistent with the documented no-injection
invariant and the rest of the shell (which already escaped).
cargo test green (41: 32 lib + 8 e2e + 1 gated live smoke); clippy clean.
refs #1