Files
zeekayandhanzo-dev 6167d746cf fix(docs): one unified build — every product merged, zero broken links
The docs site fanned out into one CF Pages project per DOCS_SECTION, stitched by
an edge worker whose *.pages.dev origins had gone stale — so every
/docs/projects/* and /docs/services/{iam,kms,platform}/* page returned 530, and
those products were never actually merged into docs.hanzo.ai. Collapse it: one
unified static export → one hanzo-docs Pages project → the router passes every
path straight through.

- source.config.ts: build the whole doc set in one pass (core + every service
  incl. iam/kms/platform + every synced OSS project). The next.config
  ProjectDocsFallback + remarkPassthroughUnknownJsx neutralise foreign MDX from
  ported docs, so a single build is safe.
- workers/docs-router: pass-through to the single hanzo-docs origin — nothing to
  stitch, no stale section origin to 530.
- OpenAPI: /docs/openapi/<svc> reference pages are generated at build time from
  the specs (gen-openapi-pages.ts wired into pre-build.ts; specs synced by
  sync-openapi.sh). The runtime <APIPage> is export-disabled (deep operation
  slugs break prerender); static per-service pages export cleanly and can't 530.
  The openapi index links to the generated reference pages.
- public/_redirects: alias the console product "Docs" deep-links that live under
  /docs/services or /docs/projects so console → docs always resolves.
- deploy-docs.yml: one full export (NEXT_EXPORT=1), ships content + router
  together. Remove the four dead per-section deploy workflows.

Verified: full export builds green in one pass under Turbopack (1628 pages) and a
crawl of every internal link from / and /docs resolves 200 — 1320/1320, zero 404,
zero 530. iam/kms/platform/projects all 200 and reachable in nav.
2026-07-08 06:48:47 -07:00
..