Lab Content Surface
Product Shape
Docs, reports, planning snapshots, content-heavy sites, or prototypes for the Research Lab.
Ladder Result
Start with static Astro or generated static output. Add runtime only when a concrete server feature appears.
Decision Path
| Need | Pick |
|---|---|
| Generated planning snapshot | planning-html.html under the persistent plans route |
| Docs/report/content-heavy site | Static Astro |
| Internal/private preview | Caddy tailnet |
| Shareable protected static surface | R2/Worker/Access-style protection |
| Auth, sessions, Actions, bindings, server islands | Astro runtime with adapter or Worker runtime |
| Heavy local service | Local service on ndovu behind protected route |
Avoided Work
- Do not create Caddy routes for one-off planning snapshots.
- Do not add the Cloudflare adapter for static output.
- Do not make Starlight the universal default for every content surface.
- Do not expose public endpoints without an explicit user decision.
First Quality Gates
- Static build or generated file exists.
- Internal/protected URL shape is known.
- Public exposure decision is explicit.
- Server/runtime need is named before adding an adapter.
- Astro 7-specific claims are checked against the Astro 7 learn topic.