Website & Hub Docs (documentation)
> Provenance: docs/index.html, bin/build-site.js, test/test-doc-sync.js, root AGENTS.md § Harness change protocol, .agents/skills/ws-shared/runtime/AGENTS.md, living synthesis of specs 0057, 0066, 0075, 0077, 0081, 0091, 0093.
Feature [edit]
The public engineering site under docs/ is a zero-dependency static GitHub Pages presentation of the harness. It uses a docs-style three-region layout with a persistent top header, a grouped left section navigation, a focused main article column, and a right on-this-page table of contents, replacing the earlier restrained single-column presentation while keeping the terminal-style tabs, FSM visualizer, catalog search, and drawer behavior rather than marketing-heavy visuals. bin/build-site.js rebuilds the site deterministically and enforces a doc-sync protocol: every shipped skill or CLI change must appear consistently across the site, README.md, root and ws-shared AGENTS.md, and optional FEATURES.md. Consumer hub documentation (ws-shared/AGENTS.md, CATALOG.md, setup.md, autoload.md) carries an explicit consumer identity with no upstream authoring prose mixed in, enforced mechanically by denylist rules and a context-budget cap in harness audits. The published site also renders the living wiki: every build snapshots {wikiDir} markdown into browser-ready HTML under docs/wiki/** with a landing Wiki link and matching sitemap entries, while {wikiDir} markdown stays the authoring source of truth.
How it works [edit]
The site revamp contract forbids neon glows, looping video, and floating badges. Dark-first theming plus an accessible light theme must maintain contrast at or above 4.5:1, support keyboard navigation, and produce zero console errors on load. The docs-style revamp keeps every pre-existing section and anchor id in the same order, collapses the right table of contents first on narrow viewports before the left navigation becomes a toggleable overlay drawer, holds no horizontal page scroll at 360 pixels, adds no render-blocking third-party requests, and implements the layout with original HTML and CSS in the bin/build-site.js template plus docs/assets/css/style.css, with docs/index.html regenerated deterministically rather than hand-edited. Doc-sync headings, version stamps, and deterministic --check gates survive visual changes. Catalog-only documentation fixes may rebuild via node bin/build-site.js without a version bump; package content changes require a strictly higher package.json version per release PR before push.
Hub prose is classified as consumer-portable, upstream-only, or shared-reference in the layout manifest. Upstream-only sections relocate toward root AGENTS.md; managed hub content installs into the skills tree ({skillsRoot}/ws-shared/, global fallback {globalSkillsRoot}/ws-shared/) while the default rules.harness path ({sharedDir}/AGENTS.md) stays the thin consumer entrypoint. Autoload keyword-map prose cites hub contracts with the exact {skillsRoot}/ws-shared/runtime/ token prefix the renderer produces, and the generated consumer mirror is synchronized through the existing rewrite rather than hand-edited into a shape the renderer would revert, with a regression assertion pinning both copies so future prose drift fails fast. When features, CLI options, workflows, or skills change, maintainers update the site, README.md, both hub AGENTS.md files, and FEATURES.md in the same effort, then pass ws-check-harness before ship.
Product positioning keeps the From Spec to Delivery slogan across the site hero, title and meta tags, README.md, llms.txt, hub docs, and wiki prose. The wording is deliberate: the pipeline ends at a reviewed pull request plus fix-PR convergence, not at merge or deploy, so Delivery (reviewed-PR handoff) fits while Ship (merged/deployed) would overpromise. Case-insensitive sweeps for the rejected variant must report zero non-historical hits, with CHANGELOG.md and historical release rows staying verbatim. The persistent header keeps only the logo, theme toggle, Install entry, and repository link; section links live in the left sidebar alone, and wide viewports use an expanded layout with corrected mobile alignment.
Wiki HTML is build output, never a hand-edited second source: intra-wiki .md links (including index.wiki.md and anchors) rewrite to .html while external links stay intact, generated pages reuse the existing dark/light theme with escaped content that cannot inject script, and only paths resolving inside {wikiDir} are converted so state files and escaping paths are never copied. node bin/build-site.js --check fails when the wiki tree is missing or stale, in the same fail-closed pattern as the landing page.
Backend [edit]
Site assets include docs/index.html, docs/assets/css/style.css, and injected catalog layers from bin/build-site.js. Verification runs through test/test-doc-sync.js and test/test-site-wiki.js plus npm scripts build-site / build-site:bump; generated wiki pages live under docs/wiki/** and are refreshed in the same build that stamps the catalog and docs/sitemap.xml. Hub documentation splits root AGENTS.md (upstream contract and task router) from ws-shared/AGENTS.md (consumer hub). ws-shared/autoload.md defines the Always-applied promotion set plus the specs progressive-disclosure router. Dual-hub drift rules are audited in ws-check-harness phases that compare root override wording against consumer defaults.