Found while converging the docs host for #10641. That card's surface was the link gate, content/docs.site.json, docker/Dockerfile and the published READMEs; these are the references that live outside it, in code that emits text to users.
Maintainer ruling, 2026-08-21, verbatim and untranslated:
这个仓的文档站规范 URL 是 https://objectstack.ai
docs.objectstack.ai redirects to the apex path-preservingly, so nothing here is a broken link — every one of these is followable today. What they are is the unratified spelling, sitting in the places a user is most likely to copy from.
Sites
| Where | What a user sees |
|---|
packages/cli/src/utils/spec-version.ts:22 — RELEASES_BASE | The URL the CLI prints when a spec-version gap is detected. Pinned by spec-version.test.ts:13,14,20, so the fix moves the test too. |
packages/apps/setup/src/setup-overview.doc.ts (4) and packages/apps/studio/src/studio-overview.doc.ts (4) | In-app doc text in Setup and Studio, English and Chinese copies alike. |
packages/platform-objects/src/apps/{account,setup,studio}.app.ts and src/identity/*.object.ts (~20), packages/plugins/plugin-security/src/objects/*.object.ts (3), packages/spec/src/shared/protection.zod.ts | A docsUrl: on the protection metadata. |
examples/app-showcase/src/ui/actions/index.ts:88 | A demo action target. |
A second, separate defect in the docsUrl: group
Those all read:
docsUrl: 'https://docs.objectstack.ai/adr/0010-metadata-protection'
/adr/... is not a /docs/... route. Fumadocs mounts content/docs under /docs (apps/docs/lib/source.ts), and docs/adr/ is not published to the site at all. So this is not only the wrong host — the path may reach nothing on any host. Worth resolving before the host is swapped, otherwise the sweep just moves a possibly-dead link to a new origin. Whoever takes this should check what, if anything, serves /adr/.
Why it was not a rider on the #10641 PR
packages/spec/src/shared/protection.zod.ts is the source of the generated content/docs/references/shared/protection.mdx, and protection.test.ts pins the string — so touching it pulls in the spec generated-artifact gates and its own regeneration step. Different verification surface, different blast radius.
Not measured
Whether the alias still answers could not be verified from the dev container — outbound access to all three hosts is denied by the egress proxy (403 at the gateway). The redirect claim above comes from commit 5329a65450's message, not from a live probe.
Found while converging the docs host for #10641. That card's surface was the link gate,
content/docs.site.json,docker/Dockerfileand the published READMEs; these are the references that live outside it, in code that emits text to users.Maintainer ruling, 2026-08-21, verbatim and untranslated:
docs.objectstack.airedirects to the apex path-preservingly, so nothing here is a broken link — every one of these is followable today. What they are is the unratified spelling, sitting in the places a user is most likely to copy from.Sites
packages/cli/src/utils/spec-version.ts:22—RELEASES_BASEspec-version.test.ts:13,14,20, so the fix moves the test too.packages/apps/setup/src/setup-overview.doc.ts(4) andpackages/apps/studio/src/studio-overview.doc.ts(4)packages/platform-objects/src/apps/{account,setup,studio}.app.tsandsrc/identity/*.object.ts(~20),packages/plugins/plugin-security/src/objects/*.object.ts(3),packages/spec/src/shared/protection.zod.tsdocsUrl:on the protection metadata.examples/app-showcase/src/ui/actions/index.ts:88A second, separate defect in the
docsUrl:groupThose all read:
/adr/...is not a/docs/...route. Fumadocs mountscontent/docsunder/docs(apps/docs/lib/source.ts), anddocs/adr/is not published to the site at all. So this is not only the wrong host — the path may reach nothing on any host. Worth resolving before the host is swapped, otherwise the sweep just moves a possibly-dead link to a new origin. Whoever takes this should check what, if anything, serves/adr/.Why it was not a rider on the #10641 PR
packages/spec/src/shared/protection.zod.tsis the source of the generatedcontent/docs/references/shared/protection.mdx, andprotection.test.tspins the string — so touching it pulls in the spec generated-artifact gates and its own regeneration step. Different verification surface, different blast radius.Not measured
Whether the alias still answers could not be verified from the dev container — outbound access to all three hosts is denied by the egress proxy (403 at the gateway). The redirect claim above comes from commit
5329a65450's message, not from a live probe.