You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restart-when: any PR touches the root content/docs/meta.json group layout
Observation recorded while implementing #8909 (see PR #8964). Not fixed there — that card's file surface is the new upgrading.mdx plus its own nav line, and this is a separate structural decision.
The mismatch
Root content/docs/meta.json places releases in the Platform group, beside kernel and protocol:
But content/docs/releases/index.mdx states its own audience explicitly:
Each release page is written for third-party developers building apps, plugins, or clients on ObjectStack. It leads with breaking changes and migration steps...
And the content bears that out — the v17 upgrade checklist is 66 bullets about allowExport, sharedWith.type, RLS priority, and agent.tools[], all metadata-app authoring concerns, none of them kernel or protocol internals.
So the pages are shelved next to the two most internals-facing sections in the docs while being written for the audience that lives in Build.
Why it is only an observation
#8909's card names this mismatch and resolves it a different way — by putting the new upgrading.mdx door in Build rather than by moving releases. That door now exists and links every per-major checklist, so the acute discoverability problem is closed. What remains is the placement itself, which is a maintainer call about nav taxonomy, not an implementation detail:
Leave it — release notes are arguably a platform-train artifact regardless of who reads them, and upgrading.mdx now provides the audience-appropriate entry point. Zero churn.
Move releases into Build — matches the stated audience, but puts a growing per-version archive in the group app developers browse daily, and moves a section every existing inbound link points at.
No behaviour is broken either way; this is discoverability and taxonomy. Recording it so the deployment-docs restructure round can grade it rather than having it noticed a fourth time. Note #8913 re-orders content/docs/deployment/meta.json, a different file, so it does not cover this.
Restart-when: any PR touches the root content/docs/meta.json group layout
Observation recorded while implementing #8909 (see PR #8964). Not fixed there — that card's file surface is the new
upgrading.mdxplus its own nav line, and this is a separate structural decision.The mismatch
Root
content/docs/meta.jsonplacesreleasesin the Platform group, besidekernelandprotocol:But
content/docs/releases/index.mdxstates its own audience explicitly:And the content bears that out — the v17 upgrade checklist is 66 bullets about
allowExport,sharedWith.type, RLSpriority, andagent.tools[], all metadata-app authoring concerns, none of them kernel or protocol internals.So the pages are shelved next to the two most internals-facing sections in the docs while being written for the audience that lives in Build.
Why it is only an observation
#8909's card names this mismatch and resolves it a different way — by putting the new
upgrading.mdxdoor in Build rather than by movingreleases. That door now exists and links every per-major checklist, so the acute discoverability problem is closed. What remains is the placement itself, which is a maintainer call about nav taxonomy, not an implementation detail:upgrading.mdxnow provides the audience-appropriate entry point. Zero churn.releasesinto Build — matches the stated audience, but puts a growing per-version archive in the group app developers browse daily, and moves a section every existing inbound link points at.content/docs/upgrading.mdxin the Build group — state both upgrade halves and give the per-major checklists a door #8909 state by default.No behaviour is broken either way; this is discoverability and taxonomy. Recording it so the deployment-docs restructure round can grade it rather than having it noticed a fourth time. Note #8913 re-orders
content/docs/deployment/meta.json, a different file, so it does not cover this.Generated by Claude Code