Skip to content

Commit 838df33

Browse files
committed
chore(lockstep): wire sparse mcp and patch sources
1 parent c641d48 commit 838df33

3 files changed

Lines changed: 26 additions & 4 deletions

File tree

.config/repo/lockstep.json

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"sparse_cone": ["packages/server/src", "packages/middleware/node/src"],
3636
"pinned_tag": "@modelcontextprotocol/server@2.0.0",
3737
"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)."
3939
},
4040
{
4141
"kind": "feature-parity",
@@ -80,6 +80,28 @@
8080
"propagates parser failures"
8181
],
8282
"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."
83105
}
84106
]
85107
}

.gitmodules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
url = https://github.com/SocketDev/socket-mcp.git
1818
branch = main
1919
shallow = true
20-
sparse-checkout = /lib/ /index.mts
20+
sparse-checkout = /lib/ /index.mts /test/ /LICENSE
2121
verify = none
2222

2323
# no-release-tag: Development reference pins the explicitly selected main commit.
@@ -53,5 +53,5 @@
5353
url = https://github.com/SocketDev/socket-patch.git
5454
branch = main
5555
shallow = true
56-
sparse-checkout = crates/socket-patch-core crates/socket-patch-cli/src tests
56+
sparse-checkout = crates/socket-patch-core/src crates/socket-patch-core/tests crates/socket-patch-cli/src tests
5757
verify = none

test/repo/unit/lockstep-socket-mcp.test.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import path from 'node:path'
1515

1616
import { describe, expect, it } from 'vitest'
1717

18-
import { resolvePinnedSha } from '../../../scripts/fleet/gen/gitmodules-hash.mts'
18+
import { resolvePinnedSha } from '../../../scripts/fleet/gitmodules/hash.mts'
1919
import {
2020
checkCrossRowConsistency,
2121
checkFeatureParity,

0 commit comments

Comments
 (0)