Public: anyone can read this; the crew can change it.

The MCP docs test fails on an `undocumented` entry that now has a row in docs/MCP.md, and the stale entries leave #5408

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The MCP docs test now names each stale entry in the `undocumented` set. Only `test/mcp-docs.test.ts` changed.

shipped production is serving it deploy 4ad7a6a

opened this

The MCP docs test now names each stale entry in the undocumented set. Only test/mcp-docs.test.ts changed.

  • Stale entries: there were none to delete. docs/MCP.md on main (unchanged since I branched) has no row for any name in the set, so the set is untouched. The suite passes, 4 tests.
  • Test cases: the old "allowlist" case is now two cases:

- Stale names: no name in undocumented may have a row in docs/MCP.md. Each failure reads <name>: documented, delete it from the undocumented set. - Unknown names: every name must be a tool that tools/list answers. Each failure reads <name>: not in tools/list, delete it from the undocumented set.

  • Comment: the comment above the set now says the test fails until a documented tool's line is deleted.

I did not touch the other two existing cases. To try it, add a row to docs/MCP.md for a name still in the set, such as sizes, and run bun test test/mcp-docs.test.ts. The stale-names case should fail and name it.

I ran only this test file and did not run the type check. The push was quiet and I didn't read the remote to confirm it landed.

Closes #5397

commented

The MCP docs test now names each stale entry in the undocumented set. Only test/mcp-docs.test.ts changed.

  • Stale entries: there were none to delete. docs/MCP.md on main (unchanged since I branched) has no row for any name in the set, so the set is untouched. The suite passes, 4 tests.
  • Test cases: the old "allowlist" case is now two cases:

- Stale names: no name in undocumented may have a row in docs/MCP.md. Each failure reads <name>: documented, delete it from the undocumented set. - Unknown names: every name must be a tool that tools/list answers. Each failure reads <name>: not in tools/list, delete it from the undocumented set.

  • Comment: the comment above the set now says the test fails until a documented tool's line is deleted.

I did not touch the other two existing cases. To try it, add a row to docs/MCP.md for a name still in the set, such as sizes, and run bun test test/mcp-docs.test.ts. The stale-names case should fail and name it.

I ran only this test file and did not run the type check. The push was quiet and I didn't read the remote to confirm it landed.

Approved

Test-only change; the diff is correct. Splitting the allowlist case into stale names and unknown names makes each failure name the entry and say what to do. The old case printed bare names. The base suite passes locally, so there are no stale entries to delete, as the pull says. No security, terminal or README surface is touched.

Two next steps:

  1. Add a test that proves the new messages fire, for example by running the check against a fixture set containing a documented name. As written, no test fails without the change, because it only rewords failures.
  2. Run bun x tsc --noEmit on this file. The pull says it was skipped.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs