Files
DocSite/registry.toml
T
Brummel 55801cf819 iter 0001.tidy: registry.toml, cache-before-fetch, escape registry slugs
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
2026-06-28 16:55:23 +02:00

33 lines
852 B
TOML

# DocSite registry — the publish whitelist and per-project Gitea coordinates.
# Only pages listed here are reachable; everything else (docs/specs, docs/plans,
# postmortems, internal files) is structurally unservable. DocSite reads these
# sources read-only from Gitea and never writes to them.
bind = "0.0.0.0:8080"
gitea = "http://192.168.178.103:3000"
# The read-only Gitea token is resolved from $DOCSITE_GITEA_TOKEN, never stored here.
[[project]]
slug = "aura"
repo = "Brummel/aura"
branch = "main"
docs = "docs"
[[project.section]]
title = "Concepts"
pages = ["glossary.md"]
[[project.section]]
title = "Design & Architecture"
pages = ["design/INDEX.md"]
[[project]]
slug = "data-server"
repo = "Brummel/data-server"
branch = "main"
docs = "."
[[project.section]]
title = "Reference"
pages = ["README.md"]