Part of #10206
The defect
Root content/docs/meta.json declares an explicit pages array of 16 entries. references is not one of them, and no meta.json anywhere in content/docs/** uses the "..." rest entry.
Verified against the real page-tree builder in fumadocs-core@16.14.4 (the pinned version in apps/docs/package.json), dist/loader-*.js ← src/source/page-tree/builder.ts:
if(metadata.pages){constoutputArray=[];for(constitemofmetadata.pages)resolveFolderItem(folderPath,item,outputArray,excludedPaths);for(constitemofoutputArray){if(item!==rest&&item!==restReversed){node.children.push(item);continue;}
... // only a "..." entry pulls in the unlisted remainder}}elsefor(constitemofbuildPaths(files, ...))...// no `pages` key ⇒ everythingSo the 199 pages under content/docs/references/** (1589 schemas, per references/index.mdx) render at their URLs but never appear in the sidebar tree. They are reachable only from two inline links — content/docs/index.mdx ("Schema Reference") and getting-started/quick-reference.mdx — and a reader who follows one gets no sidebar branch to browse from.
This is the single exception in the tree; every other section lists its own pages in full:
references: UNLISTED -> index
--- root ---
unlisted dirs: ['references']
unlisted files: []
content/docs/references/meta.json additionally omits its own index from its pages, so even once the folder is listed its landing page would not appear as a child.
Why it is a Bug and not a Feature
Nothing about the accepted set changes. content/docs/index.mdx already advertises the section ("Schema Reference — generated Zod schema reference for every metadata type") and references/index.mdx presents itself as a browsable index with a per-module Quick Navigation table. The nav config fails to deliver what the docs declare — declared ≠ delivered, restored, not widened.
File surface
content/docs/meta.jsoncontent/docs/references/meta.json
Nothing else. This card does not add or edit a single .mdx body.
What to do
- Add
references to the root pages array inside the existing ---Platform--- group, immediately after protocol. PM ruling — do not invent a new group and do not move any existing entry; see the rider section below for why. - Add
index as the first entry of content/docs/references/meta.json's pages. - Verify the sidebar actually renders the branch, do not infer it from the config diff.
pnpm --filter docs dev (or the repo's documented docs-dev command) and confirm: the Reference branch is present under Platform, expands to the 14 protocol modules, and the Protocol Reference index page is its first child. If the docs app cannot be booted in your worktree, say so in the report and state exactly what you checked instead — an unverified nav change is the whole failure mode of this card.
⛔ On-hold rider — #8966
#8966 (pm:on-hold) carries, in its most recent hold-transition comment (2026-08-16 06:22Z):
Remaining restart conditions: ① any card touching root content/docs/meta.json (devx seat: keep it in the pre-dispatch must-check list — that card takes this as a declared rider or declines on-card); ② a maintainer statement on releases-section placement.
This card fires condition ①. Both release checks pass (the condition is from the latest transition comment; no merged PR has landed on #8966 since it). PM decision: declined as a rider — the hold stands. Whether releases belongs in Platform or Build is a taxonomy call the triage seat already graded as maintainer-only, and today's authorization is about metadata-type docs coverage, not release-note shelving.
Therefore: ⛔ do not move, reorder, or re-group releases, and do not touch any other existing entry. Your diff to the root meta.json must be exactly one added line. If you believe references cannot be placed without moving something, stop and report — do not decide it.
Gates (derived at dispatch time via node scripts/pm/dispatch-gates.mjs, not recalled)
pnpm check:release-notes matches this card specifically through content/docs/meta.json, plus the content/docs family: check:doc-anchors, check:docs-audit-scope, check:docs-redirects, check:published-readme-links, check:role-word, check:cross-package-test-inputs, and the spec liveness set (check:empty-state, check:liveness, check:strictness-ledger, check:variant-docs). Re-derive against your actual diff and run what it names; the full farm is CI's job.
Acceptance
- The Reference branch appears in the docs sidebar under Platform, with its index as first child, evidenced by a rendered check rather than by reading the JSON.
- Root
meta.json diff is a single added entry; releases is byte-identical. - Named gates green.
Part of #10206
The defect
Root
content/docs/meta.jsondeclares an explicitpagesarray of 16 entries.referencesis not one of them, and nometa.jsonanywhere incontent/docs/**uses the"..."rest entry.Verified against the real page-tree builder in
fumadocs-core@16.14.4(the pinned version inapps/docs/package.json),dist/loader-*.js←src/source/page-tree/builder.ts:So the 199 pages under
content/docs/references/**(1589 schemas, perreferences/index.mdx) render at their URLs but never appear in the sidebar tree. They are reachable only from two inline links —content/docs/index.mdx("Schema Reference") andgetting-started/quick-reference.mdx— and a reader who follows one gets no sidebar branch to browse from.This is the single exception in the tree; every other section lists its own pages in full:
content/docs/references/meta.jsonadditionally omits its ownindexfrom itspages, so even once the folder is listed its landing page would not appear as a child.Why it is a Bug and not a Feature
Nothing about the accepted set changes.
content/docs/index.mdxalready advertises the section ("Schema Reference — generated Zod schema reference for every metadata type") andreferences/index.mdxpresents itself as a browsable index with a per-module Quick Navigation table. The nav config fails to deliver what the docs declare — declared ≠ delivered, restored, not widened.File surface
content/docs/meta.jsoncontent/docs/references/meta.jsonNothing else. This card does not add or edit a single
.mdxbody.What to do
referencesto the rootpagesarray inside the existing---Platform---group, immediately afterprotocol. PM ruling — do not invent a new group and do not move any existing entry; see the rider section below for why.indexas the first entry ofcontent/docs/references/meta.json'spages.pnpm --filter docs dev(or the repo's documented docs-dev command) and confirm: the Reference branch is present under Platform, expands to the 14 protocol modules, and the Protocol Reference index page is its first child. If the docs app cannot be booted in your worktree, say so in the report and state exactly what you checked instead — an unverified nav change is the whole failure mode of this card.⛔ On-hold rider — #8966
#8966 (
pm:on-hold) carries, in its most recent hold-transition comment (2026-08-16 06:22Z):This card fires condition ①. Both release checks pass (the condition is from the latest transition comment; no merged PR has landed on #8966 since it). PM decision: declined as a rider — the hold stands. Whether
releasesbelongs in Platform or Build is a taxonomy call the triage seat already graded as maintainer-only, and today's authorization is about metadata-type docs coverage, not release-note shelving.Therefore: ⛔ do not move, reorder, or re-group
releases, and do not touch any other existing entry. Your diff to the rootmeta.jsonmust be exactly one added line. If you believereferencescannot be placed without moving something, stop and report — do not decide it.Gates (derived at dispatch time via
node scripts/pm/dispatch-gates.mjs, not recalled)pnpm check:release-notesmatches this card specifically throughcontent/docs/meta.json, plus thecontent/docsfamily:check:doc-anchors,check:docs-audit-scope,check:docs-redirects,check:published-readme-links,check:role-word,check:cross-package-test-inputs, and the spec liveness set (check:empty-state,check:liveness,check:strictness-ledger,check:variant-docs). Re-derive against your actual diff and run what it names; the full farm is CI's job.Acceptance
meta.jsondiff is a single added entry;releasesis byte-identical.