|
35 | 35 | "sparse_cone": ["packages/server/src", "packages/middleware/node/src"], |
36 | 36 | "pinned_tag": "@modelcontextprotocol/server@2.0.0", |
37 | 37 | "conformance_test": "test/unit/core/mcp/transport-http.test.mts", |
38 | | - "notes": "`socket mcp` consumes the SDK as an npm dependency, not vendored source, so the port is behavioral: server.mts registers handlers by the string method names the low-level `Server` dispatches on, transport-stdio.mts hands a factory to `serveStdio`, and transport-http.mts composes `createMcpHandler` with `toNodeHandler`. Those four entry points live under the cone, which is why drift is scoped to `packages/server/src` (serving entries + the low-level Server) and `packages/middleware/node/src` (the node:http adapter). The rest of the monorepo — the codemod, the express/fastify/hono middlewares, server-legacy — is deliberately outside the port. `major-gate` because a v2 minor is additive to these entries while a major moved them once already (v1's `Server` + `StreamableHTTPServerTransport` became `createMcpHandler`, and HTTP went stateless)." |
| 38 | + "notes": "`socket mcp` consumes the SDK as an npm dependency, not vendored source, so the port is behavioral: server.mts registers handlers by the string method names the low-level `Server` dispatches on, transport-stdio.mts hands a factory to `serveStdio`, and transport-http.mts composes `createMcpHandler` with `toNodeHandler`. Those four entry points live under the cone, which is why drift is scoped to `packages/server/src` (serving entries + the low-level Server) and `packages/middleware/node/src` (the node:http adapter). The rest of the monorepo \u2014 the codemod, the express/fastify/hono middlewares, server-legacy \u2014 is deliberately outside the port. `major-gate` because a v2 minor is additive to these entries while a major moved them once already (v1's `Server` + `StreamableHTTPServerTransport` became `createMcpHandler`, and HTTP went stateless)." |
39 | 39 | }, |
40 | 40 | { |
41 | 41 | "kind": "feature-parity", |
|
80 | 80 | "propagates parser failures" |
81 | 81 | ], |
82 | 82 | "notes": "The CLI builds the pinned TypeScript API into dist/sdxgen/index.cjs. Acorn CJS and WebAssembly, the Gradle init script, and the upstream license ship beside it. Project tool execution requires an explicit command flag. The isolated bundle integration test checks real npm parsing and Acorn execution." |
| 83 | + }, |
| 84 | + { |
| 85 | + "kind": "feature-parity", |
| 86 | + "id": "patch/command-execution", |
| 87 | + "upstream": "socket-patch", |
| 88 | + "criticality": 9, |
| 89 | + "local_area": "src/core/patch", |
| 90 | + "test_area": "test/unit/core/patch", |
| 91 | + "code_patterns": [ |
| 92 | + "spawnSocketPatch", |
| 93 | + "detectExecutableType", |
| 94 | + "downloadGitHubReleaseBinary", |
| 95 | + "resolution.type" |
| 96 | + ], |
| 97 | + "test_patterns": [ |
| 98 | + "runs a local socket-patch binary", |
| 99 | + "runs the local script via node", |
| 100 | + "downloads from GitHub releases", |
| 101 | + "honors a custom stdio", |
| 102 | + "merges options.env" |
| 103 | + ], |
| 104 | + "notes": "The patch adapter resolves and executes socket-patch with argument, environment, and stdio forwarding. The sparse upstream contains core implementation, CLI commands, and behavioral tests for incorporation. This row covers the execution adapter; patch algorithms are implemented by the upstream executable." |
83 | 105 | } |
84 | 106 | ] |
85 | 107 | } |
0 commit comments