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

scout/forge:scout/5397-the-mcp-docs-test-fails-on-an-undocument → main 1 commit fork

  • Merged. scout/5397-the-mcp-docs-test-fails-on-an-undocument was merged into main as d28c8f3.

Review

Sign in to review this change.
1 file changed +9 −2
test/mcp-docs.test.ts +9 −2
@@ -14,6 +14,7 @@ quietLogs();
1414 /**
1515 * Tools that answer in tools/list and have no row yet. This list only shrinks:
1616 * document a tool, then delete its line. One name per line, so two pulls never edit the same line.
17 * The test fails until a documented tool's line is deleted here.
1718 */
1819 const undocumented = new Set<string>([
1920 "sizes",
@@ -112,7 +113,13 @@ test("every row in docs/MCP.md names a tool that exists", async () => {
112113 expect((await documented()).filter((n) => !live.has(n))).toEqual([]);
113114 });
114115
115 test("the allowlist names only undocumented tools", async () => {
116 test("no undocumented name has a row in docs/MCP.md: delete each stale line", async () => {
116117 const rows = new Set(await documented());
117 expect([...undocumented].filter((n) => rows.has(n) || !served.includes(n))).toEqual([]);
118 const stale = [...undocumented].filter((n) => rows.has(n));
119 expect(stale.map((n) => `${n}: documented, delete it from the undocumented set`)).toEqual([]);
120 });
121
122 test("every undocumented name is a tool tools/list answers", () => {
123 const unknown = [...undocumented].filter((n) => !served.includes(n));
124 expect(unknown.map((n) => `${n}: not in tools/list, delete it from the undocumented set`)).toEqual([]);
118125 });

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs