๐Ÿ“š Fumadocs Resync + Drift Gate

Playground ยท branch chore/fumadocs-resync ยท 2026-06-04 ยท fixes stale orchestkit.yonyon.ai/docs/reference/*

110
Pages stale (before)
86
Reference pages resynced
2
Category pages resynced
1
CI drift gate added
Symptom: /docs/reference/skills/audit-full showed Opus 4.6/4.7 while the source skill said Opus 4.8 โ€” 10 days stale. Root cause: reference mdx is generated from src/ but the generated artifact is committed and served as-is; nobody re-committed it, and no CI gate caught the rot.

Why the site went stale (the pipeline break)

src/skills/*/SKILL.md โ”€โ”€(scripts/build-docs.sh, part of `npm run build`)โ”€โ”€> docs/site/content/docs/reference/*.mdx Local dev npm run build โ†’ regenerates mdx โ†’ but discarded (treated as "drift") CI validate npm run build โ†’ regenerates mdx โ†’ validated in memory, never committed, NO drift gate Vercel deploy next build only โ€” never runs build-docs.sh โ†’ serves COMMITTED mdx Published site serves mdx from git โ†’ STALE whenever src/ changed since last mdx commit

The fix โ€” mirrors the existing plugins/ drift gate

PartChangeEffect
ImmediateRegenerate + commit 86 reference + 2 category mdxLive site updates on next deploy (audit-full โ†’ Opus 4.8)
SystemicAdd drift gate to .github/workflows/docs.yml validate jobCI fails if committed mdx โ‰  regenerated โ€” can't silently rot again
.github/workflows/docs.yml โ€” validate job - run: npm run build # regenerates reference mdx from src/ + - name: Check generated docs drift (reference mdx must match src/) + run: | + if ! git diff --quiet -- docs/site/content/docs/reference docs/site/content/docs/skills/by-category; then + echo "::error::Docs drift detected โ€” generated reference mdx is stale."; exit 1 + fi

audit-full โ€” before / after

docs/site/content/docs/reference/skills/audit-full.mdx - leveraging **Opus 4.6** 1M context โ€ฆ On Opus 4.7, prefers xhigh โ€ฆ + leveraging Opus 4.8 1M context โ€ฆ Opus 4.8 defaults to high effort; bump to xhigh โ€ฆ
Why a gate, not Vercel-side generation? Vercel's ignoreCommand skips deploys when docs/site is unchanged. A deploy-time generator wouldn't fire on a pure src/skills change. Committing the mdx (gated) guarantees docs/site changes whenever a skill does โ†’ Vercel always deploys. Same model as the plugins/ drift gate already in CI.
Playground artifact for PR chore/fumadocs-resync. Fixes the stale-docs landmine (formerly worked around by git checkout -- docs/site/ on every build).