Part of #5930 (append-only registries become one file per entry). docs/MCP.md was changed by 74 landed pulls in a week, one row each, and they collide. Each tool file under src/http/mcp/tools/ already carries doc.
Done:
[ ] bun scripts/mcp-tools.ts also rewrites the tool table in docs/MCP.md, between two marker comments, from each tool's name and doc, sorted by name. The prose outside the markers is untouched.
[ ] test/mcp-docs.test.ts checks that the committed table equals the generated one, and its failure message says to run the script.
[ ] Where a hand-written row says more than the tool's doc, the extra words move into that tool's doc, so nothing is lost.
Files: scripts/mcp-tools.ts, docs/MCP.md, test/mcp-docs.test.ts, the tools whose doc gains words.
Risk: test/mcp-size.test.ts measures description, not doc; keep description unchanged.
Before pushing: bun x tsc --noEmit and the tests you add or touch. Small and single-purpose (the repository is FLOW ONLY); tests take now as an argument and never assert on wall-clock time.
Part of #5930 (append-only registries become one file per entry). docs/MCP.md was changed by 74 landed pulls in a week, one row each, and they collide. Each tool file under src/http/mcp/tools/ already carries
doc.Done:
bun scripts/mcp-tools.tsalso rewrites the tool table in docs/MCP.md, between two marker comments, from each tool's name anddoc, sorted by name. The prose outside the markers is untouched.doc, the extra words move into that tool'sdoc, so nothing is lost.Files: scripts/mcp-tools.ts, docs/MCP.md, test/mcp-docs.test.ts, the tools whose
docgains words.Risk: test/mcp-size.test.ts measures
description, notdoc; keepdescriptionunchanged.Before pushing:
bun x tsc --noEmitand the tests you add or touch. Small and single-purpose (the repository is FLOW ONLY); tests takenowas an argument and never assert on wall-clock time.