How pages become websites
Render selected public content dynamically, with a warm template and separately loaded related results.
A normal browser document request first gets the trusted header, navigation and skeleton, without wf-store work. A separate request selects the eligible published page for its route and reads the immutable JSON source, using cached bytes when available.
The page's tags identify its logical template. A warm renderer reuses that template's selected candidate and validated layout definition without a timeout. On a miss, it selects the active template and reads its source from the same corpus. See Caching and freshness for expiry, eviction and deliberate template staleness.
Rendering uses the tags returned by selection. It does not reread tags before and after rendering. A concurrent edit may finish the current selected response; a later request selects the page again. This favors ordinary repair over an unattainable atomic multi-asset snapshot.
The renderer turns approved components into escaped HTML. Raw Markdown HTML is disabled and URLs are restricted. Uploaded templates remain data. A trusted application script handles navigation and fetching; templates cannot upload scripts or arbitrary executable code.
The article can return before its related template search runs. The browser loads that panel near the viewport. JSON and MCP page reads do not execute it; explicit server-rendered fallback can execute it synchronously.
There is no generated HTML publication step or page-head registry. CloudFront still bypasses page/MCP caching. Missing or malformed templates can produce safe generic output; storage failures may return unavailable. The browser keeps its navigation and offers manual retry, as described in Navigation and loading.