Skip to content

docs: pin every moving reference in a frozen version - #46

Merged
suiramdev merged 1 commit into
devfrom
docs/pin-moving-refs
Sep 22, 2026
Merged

suiramdev merged 1 commit into
devfrom
docs/pin-moving-refs

Conversation

@suiramdev

Copy link
Copy Markdown
Owner

Summary

A frozen documentation version must not point readers at anything that moves. The snapshot script already pinned repository links and FREENARY_VERSION lines, but not the curl URLs that install the stack, so 0.1 told its readers to download docker-compose.yml and .env.example from main. This lifts the three moving forms into one MOVING_REFS table that the writer (snapshot-version.ts) and the gate (check-docs.ts) both read, adds the download URL as the third form, and backfills the two frozen 0.1 pages. Look at apps/fumadocs/scripts/moving-refs.ts first.

Motivation

  • A reader of 0.1 was handed main's compose file to run against 0.1 images.
  • The writer and the gate each carried their own idea of what must be pinned, so a new form had to be added twice and could silently diverge.
  • 0.1/self-hosting/index.mdx still claimed the registry holds no latest tag; images.yml has published latest since v0.1.0, and four sibling pages in that same folder already said so.

Drawbacks

  • The 0.1 folder is edited, which the docs rules normally forbid. Both edits make 0.1 pages describe 0.1 instead of main, so they fall under the correction-to-that-release exception — but they deserve a deliberate look.
  • The raw download URL is matched as a bare string, unlike the two anchored forms, so a page that ever names that prefix in a sentence would be rewritten. docs/engineering/platform.md records the hazard and the workaround.
  • One more indirection between the two scripts and the strings they match.

Prior art

  • The blob-link pin and the FREENARY_VERSION pin already existed separately on dev; this is their generalisation, and both keep their rule names and messages verbatim.
  • Anchoring the raw URL the way the blob link is anchored was rejected: it appears inside a bash fence with no stable syntactic marker, and curl -O is not the only way to write it.

Notes

  • No visual change. No tests added; apps/fumadocs carries none.
  • Docs updated: next/contributing/releasing.mdx, next/contributing/writing-docs.mdx, next/self-hosting/index.mdx, apps/fumadocs/AGENTS.md, docs/engineering/platform.md, plus the 0.1 corrections.
  • Verified: docs:check green (76 pages, 0 errors), bun run build exit 0, oxlint, tsc --noEmit and ultracite check clean. A throwaway docs:snapshot 9.9.0 produced a folder the gate passes with 0 errors, and injected moving references in frozen pages are each reported at the correct line.
  • Reviewed by the reviewer agent: approved, no findings.

@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 222abc29-cdf8-4459-a01f-83c75f2a5e66

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Signed-off-by: suiramdev <me@suiram.dev>
@suiramdev
suiramdev merged commit 3fb63ea into dev Sep 22, 2026
3 checks passed
@suiramdev
suiramdev deleted the docs/pin-moving-refs branch September 22, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant