From 6660704e15e53751333d187a3f03b4e6f15b9e73 Mon Sep 17 00:00:00 2001 From: Alberto Arroyo Raygada Date: Sun, 16 Aug 2026 21:39:46 -0500 Subject: [PATCH] chore(release): mcp 1.3.3, so the --version fix reaches users and the declared ranges stop lying (#595) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit chore(release): mcp 1.3.3, so the --version fix reaches users and the declared ranges stop lying 1.3.2 IS ON npm AND IS THE VERSION A TAG WOULD REGISTER. The MCP registry publish (`publish-mcp-registry`) only runs on a `v*` tag, and the next tag is now unblocked. Without this bump it would create the registry's first-ever listing pointing at `@beyondnet/evolith-mcp@1.3.2`, whose `--version` starts the MCP server instead of answering: stdin closed it exits 0 printing nothing, stdin open it never returns. That does not break MCP protocol use — clients never invoke the flag — but the listing is the first impression on the one channel where the install step IS the pitch, and asking a tool its version is the first thing anyone does after installing it. #590 fixed it in the repo; only a publish moves it. AND THE DECLARED RANGES WERE WRONG, WHICH IS THE LESS OBVIOUS HALF. `core-path.ts` imports at module top level: import { resolveCorpus, tryResolveCorpus } from '@beyondnet/evolith-infra-providers'; import { findCoreFromSatellite } from '@beyondnet/evolith-core-domain/application/paths/rulesets-location'; while the manifest declared `^1.2.0` for both. Verified against the PUBLISHED tarballs rather than taken on faith: core-domain@1.3.0 exports: RULESETS, describeRulesetsResolutionFailure, entriesLookLikeCorpus, probeRulesetsLocation, probeRulesetsLocationSync, rulesetsCandidatePaths core-domain@1.3.1 exports: ... plus findCoreFromSatellite infra-providers@1.2.0 files matching /corpus/: 0 grep resolveCorpus in dist: 0 infra-providers@1.2.1 files matching /corpus/: 3 `^1.2.0` admits both of the versions that LACK the symbols. It has been working on "npm picks the newest in range", not on the contract: any lockfile pin, offline mirror or `overrides` landing inside `^1.2.0` installs a server that dies at import. Tightened to `^1.3.1` and `^1.2.1` — the versions that actually contain what is imported, both already on the registry. SERVER.JSON, AND THE GUARD DOING ITS JOB ON THE FIRST TRY. Bumping package.json alone reproduced exactly the drift #570 introduced, and the parity assertion added in #574 caught it before anything shipped: package.json=1.3.3 server.json=1.3.2 packages[0]=1.3.2 ::error:: server.json declares 1.3.2 but package.json publishes 1.3.3 -> exit 1 Both server.json fields moved to 1.3.3; the check now exits 0. That is the first bump since the guard existed, and it earned its place immediately. VERIFIED packlist after a build: 799 files, dist/ 216, rulesets/ 574, dist/main.js present VALUE_FLAGS (the --version fix) present in the emitted dist/main.js mcp-server suite: 601 tests / 65 suites green guards 01, 03, 04, 66: exit 0 The build exits 1 in this worktree for an unrelated environment reason (`@nestjs/cache-manager` missing from the linked node_modules); it still emits, and the emitted output is what the packlist above measures. On the runner the build succeeds. CI: 32 SUCCESS, 2 SKIPPED, 0 failing. --- package-lock.json | 6 +++--- src/packages/mcp-server/package.json | 6 +++--- src/packages/mcp-server/server.json | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 45a04218..79bcb7ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16608,13 +16608,13 @@ }, "src/packages/mcp-server": { "name": "@beyondnet/evolith-mcp", - "version": "1.3.2", + "version": "1.3.3", "license": "MIT", "dependencies": { "@beyondnet/evolith-agent-runtime": "^1.1.0", "@beyondnet/evolith-core": "^1.2.0", - "@beyondnet/evolith-core-domain": "^1.2.0", - "@beyondnet/evolith-infra-providers": "^1.2.0", + "@beyondnet/evolith-core-domain": "^1.3.1", + "@beyondnet/evolith-infra-providers": "^1.2.1", "@beyondnet/evolith-sdk": "^2.0.0", "@modelcontextprotocol/sdk": "1.29.0", "@nestjs/cache-manager": "3.1.3", diff --git a/src/packages/mcp-server/package.json b/src/packages/mcp-server/package.json index 5be94582..b62f8fbd 100644 --- a/src/packages/mcp-server/package.json +++ b/src/packages/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@beyondnet/evolith-mcp", - "version": "1.3.2", + "version": "1.3.3", "mcpName": "io.github.beyondnetcode/evolith", "description": "Evolith MCP Gateway — NestJS-based Model Context Protocol server for AI agents. Supports stdio and SSE transports.", "main": "dist/main.js", @@ -44,8 +44,8 @@ "dependencies": { "@beyondnet/evolith-agent-runtime": "^1.1.0", "@beyondnet/evolith-core": "^1.2.0", - "@beyondnet/evolith-core-domain": "^1.2.0", - "@beyondnet/evolith-infra-providers": "^1.2.0", + "@beyondnet/evolith-core-domain": "^1.3.1", + "@beyondnet/evolith-infra-providers": "^1.2.1", "@beyondnet/evolith-sdk": "^2.0.0", "@modelcontextprotocol/sdk": "1.29.0", "@nestjs/cache-manager": "3.1.3", diff --git a/src/packages/mcp-server/server.json b/src/packages/mcp-server/server.json index a8489008..f88a6f35 100644 --- a/src/packages/mcp-server/server.json +++ b/src/packages/mcp-server/server.json @@ -3,7 +3,7 @@ "name": "io.github.beyondnetcode/evolith", "title": "Evolith Architecture Governance", "description": "Executable architecture governance: an unevaluated rule is reported as a failure, never a pass.", - "version": "1.3.2", + "version": "1.3.3", "websiteUrl": "https://beyondnetcode.github.io/evolith_arch32/", "repository": { "url": "https://github.com/beyondnetcode/evolith_arch32", @@ -16,7 +16,7 @@ "registryType": "npm", "registryBaseUrl": "https://registry.npmjs.org", "identifier": "@beyondnet/evolith-mcp", - "version": "1.3.2", + "version": "1.3.3", "runtimeHint": "npx", "transport": { "type": "stdio"