Skip to content

docs(nav): the whole Reference tree is missing from the sidebar — root meta.json lists 16 sections and references is not one of them #10209

Description

@os-elon

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-*.jssrc/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 ⇒ everything

So 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.json
  • content/docs/references/meta.json

Nothing else. This card does not add or edit a single .mdx body.

What to do

  1. 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.
  2. Add index as the first entry of content/docs/references/meta.json's pages.
  3. 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.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions