Later part of #5924 (19 open pulls touch src/contract/openapi.ts). The MCP tools' treatment: one file per route, gathered by a sorted generated index (as scripts/mcp-tools.ts does for src/http/mcp/tools/), a contract test over every file and a check that the index is current. No behaviour change: /contract/openapi.json is the same document.
Later part of #5924 (19 open pulls touch src/contract/openapi.ts). The MCP tools' treatment: one file per route, gathered by a sorted generated index (as
scripts/mcp-tools.tsdoes forsrc/http/mcp/tools/), a contract test over every file and a check that the index is current. No behaviour change: /contract/openapi.json is the same document.