You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mcp-server/ has 122 vitest tests. No workflow runs them.
.github/workflows/validate.yml runs scripts/validate_skill.py and the Python structural tests. No workflow installs Node or runs npm test, so the TypeScript suite has only ever run on a developer machine.
Surfaced while answering a review finding on #68, which suggested confirming that "CI runners reference a supported Node version." There is no CI runner to check, because nothing in CI touches Node.
Why it matters now
The bridge shells out to the Claude Code CLI and parses its output. #68 just moved it across two major versions (vitest 2 to 3, vite 5 to 7) and the only evidence it still works is that someone ran the suite by hand and pasted the result. That worked, but it is not a control.
What it would take
A test-mcp-server job in validate.yml: actions/setup-node pinned to a version satisfying engines (^20.19.0 || >=22.12.0), npm ci --prefix mcp-server, then npm test --prefix mcp-server and npm run build --prefix mcp-server.
Two details worth getting right:
Gate it on mcp-server/** changes so it does not run on skill-only edits, which are most commits in this repo.
The suite passes today and the bridge is versioned independently of the skill. This is about making that provable on every change rather than on the days someone remembers to run it.
mcp-server/has 122 vitest tests. No workflow runs them..github/workflows/validate.ymlrunsscripts/validate_skill.pyand the Python structural tests. No workflow installs Node or runsnpm test, so the TypeScript suite has only ever run on a developer machine.Surfaced while answering a review finding on #68, which suggested confirming that "CI runners reference a supported Node version." There is no CI runner to check, because nothing in CI touches Node.
Why it matters now
The bridge shells out to the Claude Code CLI and parses its output. #68 just moved it across two major versions (vitest 2 to 3, vite 5 to 7) and the only evidence it still works is that someone ran the suite by hand and pasted the result. That worked, but it is not a control.
What it would take
A
test-mcp-serverjob invalidate.yml:actions/setup-nodepinned to a version satisfyingengines(^20.19.0 || >=22.12.0),npm ci --prefix mcp-server, thennpm test --prefix mcp-serverandnpm run build --prefix mcp-server.Two details worth getting right:
mcp-server/**changes so it does not run on skill-only edits, which are most commits in this repo.unittestexits 0 on "Ran 0 tests" and the Python step already guards against that (see theset -eo pipefailblock added in feat!: run two rule sets per invocation and record the comparison (1.0.0) #67). Check whethervitest runhas the same hazard before trusting a green result.Not urgent
The suite passes today and the bridge is versioned independently of the skill. This is about making that provable on every change rather than on the days someone remembers to run it.