Skip to content

[finding] docs(ai): the module landing list in index.mdx omits connect-mcp, meta.json's first content page #10737

Description

@claude

Found while sweeping the other section landing pages for #10339 (PR #10736), which topped up the same omission in content/docs/permissions/index.mdx. Out of that card's scope — its dispatch fenced the diff to content/docs/permissions/** — so this is filed rather than ridden along.

The observation

content/docs/ai/meta.json ships 9 pages. The ## What's in this module list in content/docs/ai/index.mdx names 7 of the 8 content pages. Absent:

  • connect-mcpConnect an MCP Client

It is routed, it is in the sidebar, the file exists (content/docs/ai/connect-mcp.mdx), and it is linked nowhere else on the landing page — the module list is the page's only inventory and it is missing this entry.

Two details make it more than a tail-end oversight:

  1. connect-mcp is meta.json's first content page, immediately after index — the most prominent slot in the chapter, not a recently-appended last row.
  2. The page is the reader's entry point for pointing Claude Code / Claude Desktop at a running app. A reader scanning the AI module's index for "how do I connect my MCP client" concludes the chapter has no such page.

Measurement

Both files parsed, not eyeballed, at origin/main = 53a48c93f4:

content/docs/ai/meta.json pages9
distinct pages linked in the ## What's in this module list7
missing (index excluded)1 — connect-mcp
in the list but not in meta.json0
list order vs meta.json orderagrees for the 7 present

Scope of the sweep that found it — what is and is not claimed

The sweep classified every section under content/docs that has both a meta.json and an index.mdx, by the shape of its landing inventory:

  • Nine sections (ui, automation, capabilities, data-modeling, kernel, protocol, protocol/objectql, protocol/kernel, concepts) present pages through a <Cards> component rather than a hand-written bullet list. Different object — no claim is made about them here, and whether a <Cards> grid can drift the same way is a separate question nobody has asked.
  • Two sections carry a hand-written bullet index that agrees with meta.json: permissions (after PR docs(permissions): list the six module pages the landing index omitted #10736) and api.
  • This is the only drifted instance. Two others flag on a naive detector and were checked and dismissed rather than filed: getting-started's bullet list is a "Next Steps" pointer list that deliberately links out of the module, and protocol/objectui's is a curated "For Implementers" reading list mixing in /docs/references/ links. Neither presents itself as that module's index.

Directions, not a recommendation

The same option (b) question #10339 answered applies here, and the answer taken there was: keep the list hand-written (the link text and per-row glosses exist in no source file — meta.json stores slugs only), and record meta.json as the source of truth in a comment beside the list. Whoever picks this up can top up the single row and follow that precedent, or argue for the mechanical alternative below.

The mechanical option, stated once so it is not re-derived a third time.#9604 topped up runtime-services/index.mdx by hand and added pnpm check:runtime-services-index to hold the list to meta.json. That script is ~1000 lines and bespoke (it also checks stability labels, registry slots and canonical-source rows), so it is not a parameterization away from covering other sections. The generalizable core is small: for every section landing page carrying a ## What's in this module bullet list, hold the set and order of that list to its directory's meta.json. Today that population is three pages — permissions, api, ai — which is small enough to be worth arguing about either way: a gate for three pages may be over-engineering, or may be exactly the cheap ratchet that stops this recurring a fourth time. That is a maintainer call, not a dev's.

Refs: #10339 · PR #10736 · #9604


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions