|
| 1 | +# v0.53.0 release evidence — 2026-11-11 |
| 2 | + |
| 3 | +## Delivered scope and source |
| 4 | + |
| 5 | +The opt-in CLI-only `audit --report-json` adds coverage-aware evidence over the |
| 6 | +fixed mcpm store and latest registry metadata. Existing audit JSON/SARIF/MCP, |
| 7 | +scoring and gates remain unchanged. See [the report contract](AUDIT-REPORT.md). |
| 8 | +The bounded `#131`/`#149` slice shipped; broader client/project discovery, |
| 9 | +installed-byte coverage and transactional writes remain open. Public usage skill |
| 10 | +source is 1.3.2; the tracked package placeholder remains 0.15.0. |
| 11 | + |
| 12 | +Sol built the feature; Astra reviewed and fixed it. [#345](https://github.com/getmcpm/cli/pull/345) |
| 13 | +merged `d093ad7598b1b94f32f0df2161ed301614611134` after all nine checks passed on |
| 14 | +reviewed integration head `ca5d499898f2fbeb8ecb5718e9acca38b395ff95`. |
| 15 | +Only two documentation conflicts needed resolution against current main; runtime, |
| 16 | +package, lock and public skill bytes stayed identical to the reviewed feature. |
| 17 | +[#349](https://github.com/getmcpm/cli/pull/349) stamped the release after all nine |
| 18 | +checks passed on reviewed head `6cb4c8bd26551b3a525321f2d35adab082fba569`. |
| 19 | +Release source `476209d681a3482a864db6534f4eda4150aa59b0` has the identical tree |
| 20 | +`7c5d63a9c355b322f62d174b6e2ebc6d47807a6c`. |
| 21 | +Annotated tag `d196800d5d5b8bd551a9d09161284783db61d871` peels to that source. |
| 22 | + |
| 23 | +[Publication run 43051168799](https://github.com/getmcpm/cli/actions/runs/43051168799) |
| 24 | +passed all five jobs, including Node 22/24/26 package gates and official registry |
| 25 | +listing. The [GitHub release](https://github.com/getmcpm/cli/releases/tag/v0.53.0) |
| 26 | +published at 2026-11-11T15:45:30Z. npm exact/latest and the official MCP registry |
| 27 | +read back as 0.53.0. A temporary npm 404 resolved with bounded read-only retries; |
| 28 | +no successful publication was repeated. #331 remains separate and unmerged. |
| 29 | + |
| 30 | +## Source and authenticated public package |
| 31 | + |
| 32 | +Frozen Node 26.11.1 / pnpm 10.30.0 checks passed: typecheck, build, 165 test files |
| 33 | +(3,905 passed, three skipped), coverage and its 101% negative-threshold probe, |
| 34 | +and packed clean-install smoke. Coverage: statements 90.35%, branches 86.82%, |
| 35 | +functions 87.38%, lines 92.05%. All nine dependency overrides remain intact. |
| 36 | + |
| 37 | +The actual npm archive is **755,629 bytes**, SHA-256 |
| 38 | +`8f254bb89636bf52f69d9acf0f660c616483ddfcec45aa09eb497850771e393f`. |
| 39 | +Parent and Astra independently verified npm integrity, authenticated SLSA |
| 40 | +subject/source, exact publish workflow/tag SAN and GitHub Actions issuer against |
| 41 | +the existing trusted root. Signed release SBOM verification passed; wrong archive, |
| 42 | +altered provenance and altered SBOM checks rejected tampering. All 66 runtime |
| 43 | +JavaScript files match an independent version-injected source build. All 136 |
| 44 | +clean-installed package files match the archive. This verifies build identity, |
| 45 | +not code safety or exhaustive SBOM coverage. |
| 46 | + |
| 47 | +Fresh public-package smoke passed. Parent and Astra independently ran **44 audit |
| 48 | +CLI executions**, including **eight exact stdout/stderr/exit legacy comparisons** |
| 49 | +against an independently built baseline. Malformed/future/duplicate inventory, |
| 50 | +partial registry/scanner failures, special files, privacy and invalid flags were |
| 51 | +covered. Synthetic home files stayed unchanged; a positive-control executable |
| 52 | +server sentinel never launched during audit. An explicitly configured external |
| 53 | +scanner can execute; report coverage is not whole-host safety. |
| 54 | + |
| 55 | +## Published protocol sandbox |
| 56 | + |
| 57 | +The authenticated archive passed **139 comparisons, zero failures, two expected |
| 58 | +unsupported combinations and four exclusions** across modern/legacy direct and |
| 59 | +guarded clients. The harness labels an explicit archive `candidate`; these bytes |
| 60 | +were the authenticated published package. Parent and Astra independently replayed |
| 61 | +all **104 retained Skills captures**, including expected changed, mismatched, |
| 62 | +incomplete and invalid outcomes. Expected nonclean outcomes are not clean verdicts. |
| 63 | + |
| 64 | +Image `sha256:9b665cc1312928962ac22e5078b6485bc6566947cbb74af9a060e46c8b782fa2` |
| 65 | +read-back binds the archive/all 66 runtime files, harness, fixtures, public skill |
| 66 | +and resolved lock `b0b0546ab140cbfbbd65c05b6ca5672007e05f33904ab2e567359f956276a633`. |
| 67 | +Frozen input manifest SHA-256: |
| 68 | +`add33d3cb20c26f0191e06f4cc2283ee364f58acff642105b5f64b69ee6fa778`. |
| 69 | +Actual isolation was network none, read-only root, UID/GID 1000, dropped |
| 70 | +capabilities, no-new-privileges, private temporary homes and no host bind mounts. |
| 71 | +Task containers were removed. No fresh native-client, provider/model or global |
| 72 | +configuration execution is claimed; historical native evidence stays historical. |
| 73 | + |
| 74 | +## Companion delivery and deployment |
| 75 | + |
| 76 | +| Repository | Reviewed head / merged delivery | Validation and public state | |
| 77 | +| --- | --- | --- | |
| 78 | +| CLI | #345/#349; source `476209d` / v0.53.0 | Authenticated actual package, smoke, 44 audit checks, 139 protocol comparisons | |
| 79 | +| guard-playground | Reviewed `dca1acf05d4c5f026249345eb892ac745c99d6af`; [#35](https://github.com/getmcpm/guard-playground/pull/35) merged `28798ed1e503b72fb3546e1a9553b0e5d2ecb9e8` | Astra clear, CI green, build/corpus sync/check and 63 tests; Pages [43054469626](https://github.com/getmcpm/guard-playground/actions/runs/43054469626) succeeded | |
| 80 | +| mcp-guardbench | Reviewed `9fba76997928f3073fc4aa7ec499512d01865349`; [#24](https://github.com/getmcpm/mcp-guardbench/pull/24) merged `34dd0440ec24160df920ae43f873af61e2cc51f4` | Astra clear, CI green, 14 adapter tests and independent public-command replay of all 57 verdicts | |
| 81 | + |
| 82 | +Both merge trees equal their reviewed heads. Both companion installations match |
| 83 | +all 136 authenticated archive files. Playground pins v0.53.0/source `476209d`; |
| 84 | +its corpus remains `329e4e14e4b1f6cfc9c9d7cf547a2dfa4c049aa8`. |
| 85 | +Guardbench corpus remains `ba18d3deb4e4836920735a6fd97ca96ad836679e`: |
| 86 | +TP32/FN5/FP0/TN20, recall 86.49%, precision 100%, exact actions 50/57 (87.72%). |
| 87 | +No unsupported/error/anomalous rows; corpus, adapter and historical results stay |
| 88 | +unchanged. This is a fresh measurement despite identical detector verdicts. |
| 89 | + |
| 90 | +All seven [public playground](https://getmcpm.github.io/guard-playground/) assets |
| 91 | +returned HTTP 200 and byte-matched the reviewed build, including engine metadata |
| 92 | +SHA-256 `6d6b529dc3cc04ee024eee2b07548d968448f8ca97ee0803756f2d19c8be417a`. |
| 93 | +Actual local **and deployed** browser clicks exercised all 57 corpus cases; |
| 94 | +canonical inputs, rendered actions and finding fields matched the published CLI. |
| 95 | +Both browser result digests were |
| 96 | +`e45598621a47511f2d0183f595d89c10aae98cc36fccbe536c91a262a7636885`. |
| 97 | +The preserved five detector misses remain explicit. Browser parity is a stateless |
| 98 | +detector reference, not stdio relay, native activation or OS confinement proof. |
| 99 | +The favicon 404 was unrelated to the application assets. |
| 100 | + |
| 101 | +## Evidence and closeout |
| 102 | + |
| 103 | +Temporary evidence roots: `/private/tmp/mcpm-0530-public-20261111`, |
| 104 | +`/private/tmp/mcpm-0530-astra-verification`, |
| 105 | +`/private/tmp/mcpm-0530-published-protocol-20261111`, |
| 106 | +`/private/tmp/mcpm-0530-protocol-readback-20261111`, |
| 107 | +`/private/tmp/mcpm-0530-pages-proof-20261111`, and |
| 108 | +`/private/tmp/mcpm-0530-browser-proof-20261111`. |
| 109 | +Candidate, published, merged and deployed checkpoints are distinct. Release, |
| 110 | +status/backlog and the original development note in Obsidian are updated; |
| 111 | +Obsidian visual rendering is unverified. This documentation closeout changes no |
| 112 | +published runtime bytes and requires no republish. |
0 commit comments