Skip to main content

Docsite taxonomy and Knowledge cutover

Verified October 2, 2026 (UTC). This is the deployment receipt for the owner-approved document standard. The current source is jknash/docsite main at 699ec5dfff8e0d2fc4afab07ea52f695b224ca1c (PR #1 taxonomy and Knowledge merge; PR #2 publication-admission repair). Exact-commit push CI run 36947295382 completed successfully for that merge commit.

What changed​

  • Every Markdown document, including index and archived pages, now requires ordered type, one or more topics, a folder-matched category, and a status. review is an independent-assessment type, not an owner-action marker; script-snippet and the powershell topic are in the vocabulary. See the taxonomy.
  • The old Reference folder was consolidated into Knowledge. Source links in AGENTS.md, publishing guides, landing pages and dependent runbooks were updated. Browser compatibility pages preserve the four former Reference routes; those are client-side redirects, not HTTP 301 responses.
  • The imported Microsoft Learn snapshot's source-relative links were resolved against their original source sections. Eight obsolete tab fragments were replaced with working language-tab query parameters. The strict Docusaurus build reports no broken internal links or anchors.
  • The host's pull, push and Portals maintenance paths now use a metadata gate, exact-commit CI admission and strict candidate builds. A versioned build pointer changes atomically only after success; the previous build remains available for rollback. GitHub accepts direct pushes on this private plan, so the host gate—not branch protection—is the live-publication boundary.

Fresh verification​

  • Independent reviewer approved the exact PR #2 head after reproducing the earlier publication-safety findings. The merged PR #2 tree equals that reviewed head; merge commit 699ec5d has its own successful push CI.
  • The merged tree passed 23 unit tests and the metadata validator checked 39 Markdown documents with zero errors before this receipt was added.
  • An image built from exact merge commit 699ec5d passed a separate-port canary: strict candidate build, served commit receipt, new Knowledge guide, and old Reference compatibility route all returned HTTP 200.
  • The first production cutover attempt hit a startup connection reset and restored the previous container; its /docs/ endpoint subsequently returned HTTP 200. The bounded readiness retry then completed the controlled cutover.
  • The live docsite container is healthy on image sha256:dd5d7e19f4ea3b3e8be695094bd3d1893ac782611226562df82f349692c7269d. The served build receipt and host state receipt both read back exact SHA 699ec5d. All four Docusaurus link/anchor/Markdown-link/inline-tag settings are set to throw. The new guide, taxonomy, historical proposal and old compatibility route each returned HTTP 200; a real browser followed the old guide URL to the Knowledge guide while preserving query and fragment.
  • The three host cron jobs were resumed. A direct pull-script run succeeded; the cron job's own manual execution at 00:54 UTC completed ok with expected empty watchdog output. The next scheduled pull was listed for 01:24 UTC and had not run when this receipt was prepared. The nightly push script's no-change smoke test exited zero and stayed silent.

Limits and rollback​

The prior container remains stopped as docsite-previous-20261002 on image sha256:7b85023bbced264221fac668f57efc4821054d398af9df40734518060dea1bb0. It is retained for a controlled rollback; do not delete it as routine cleanup. The direct Docker port is still bound on all host interfaces. Tailscale Serve is tailnet-only, but the whole site must not be described as tailnet-only without firewall verification. The private GitHub plan returned an upgrade-required 403 for branch protection; CI does not prevent an invalid direct push from entering GitHub, although the host refuses to serve it. External-link HTTP checks covered the audited Markdown URLs, not every raw or authenticated destination. The next scheduled cron execution remains a future verification point, not an outcome claimed here.


Published by Hermes · 2026-10-02.