docs: establish Docbank's authority-led public site - #241
Conversation
roborev: Combined Review (
|
roborev: Combined Review (
|
|
@salmonumbrella i'm grinding on this some, would appreciate your feedback after I push the incoming iteration |
roborev: Combined Review (
|
Docbank's incoming processing and retrieval stack needs a public identity that explains source authority, governed derivatives, bounded agent access, and recovery as one system. Fix the audience, authority-lifecycle narrative, flat teal visual language, human and machine route parity, screenshot boundary, and release-gated deployment before implementation begins. - docs: make the tiered site design executable - test: prove documentation subpath rendering - feat: separate complete documentation captures - feat: pin reviewed documentation assets - feat: assemble the public documentation tiers - feat: establish Docbank's authority-led site - feat: preview every documentation tier together - fix: make documentation deployment narrow and verifiable - test: verify the public documentation boundary - ci: gate documentation promotion on released sources - test: keep browser specs out of the unit runner - fix: enforce documentation publication boundaries - feat: simplify the landing hero and link community surfaces - fix: redraw the interface map with orthogonal routing - feat: tell the AI intelligence and git-contrast story - fix: serve every published screenshot from the site itself Generated with Codex Generated with Claude Code (claude-fable-5-1) Co-authored-by: Codex <198982749+openai-codex[bot]@users.noreply.github.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
5637028 to
8b416a5
Compare
roborev: Combined Review (
|
`make docs-serve` rebuilt forever after the first edit. The docs build creates temporary directories inside `docs/`, the watcher saw them as source changes, and every rebuild queued the next one. One touch produced 39 rebuilds in 75 seconds. The watcher now ignores the build's own temporary entries, the generated site directory, and dot-prefixed tool directories. Documentation pages referenced screenshots by their canonical production URL, so a local preview and a not-yet-promoted Vercel deployment fetched images from whatever production currently served instead of the pinned set staged beside them. The site build now rewrites those references in generated HTML to root-relative paths, and the verifier rejects any image that is not site-relative. Published Markdown keeps the canonical URLs so it still renders on GitHub and for agents reading raw Markdown. Generated with Claude Code (claude-fable-5-1) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
roborev: Combined Review (
|
The preview server checked a file with stat and then opened it for streaming as a separate step. A rebuild replaces the whole site directory between requests, so a browser fetching assets right after a rebuild could hit that window. When the second step failed, the response had already started and never ended, so the request hung. The same happened for any file the server could stat but not read. The server now opens the file first and streams from the open handle, which stays valid even if the directory is replaced underneath it. A file that disappears before open answers 404, any other open failure answers 500, and a stream failure after headers aborts that one response instead of leaving it open. Generated with Claude Code (claude-fable-5-1) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
roborev: Combined Review (
|
|
@wesm tag me for feedback when you're ready |
Docbank gets one public surface with three tiers: a product page at
/, an authority-lifecycle guide at/guide/, and operator documentation at/docs/. Every page has an exact Markdown twin, and/llms.txtindexes the machine-readable surface. The visual system is self-contained: teal on ink, local Inter and JetBrains Mono, native SVG diagrams, and captures from a synthetic vault.Deployment is narrow and verifiable.
make docs-buildassembles only allowlisted public inputs (72 static files, ~1.34 MB, hard 10 MiB cap), builds consume one exact orphandocs-assetscommit rather than a mutable branch, andmake docs-deploy DOCS_SOURCE=<full-sha>accepts only a release-eligible source, then inspects and revalidates the unpromoted build before promotion. Pull-request jobs receive no Vercel credentials. A Playwright suite reviews all three built tiers in Chromium and WebKit: keyboard navigation, dialog focus return, narrow layouts, reduced motion, accessible images, and computed contrast.Merge gates
Draft until:
No preview or production deployment has been created from this branch. The root README keeps its reachable orphan-branch image URL until the first production promotion; a follow-up documentation-only PR then repoints it at the live site asset before the public
docs-assetsbranch advances.🤖 Generated with Claude Code