Skip to content

Commit 5bf827e

Browse files
authored
docs: record verified v0.53.0 release and companion sync (#350)
1 parent 476209d commit 5bf827e

7 files changed

Lines changed: 135 additions & 25 deletions

File tree

‎.github/actions/mcpm-verify/README.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,16 @@ jobs:
3737
runs-on: ubuntu-latest
3838
steps:
3939
- uses: actions/checkout@v4
40-
- uses: getmcpm/cli/.github/actions/mcpm-verify@v0.52.1
40+
- uses: getmcpm/cli/.github/actions/mcpm-verify@v0.53.0
4141
with:
42-
version: 0.52.1 # executed @getmcpm/cli version
42+
version: 0.53.0 # executed @getmcpm/cli version
4343
working-directory: . # dir containing mcpm.yaml / mcpm-lock.yaml
4444
```
4545
4646
Equivalent one-liner (no action):
4747
4848
```yaml
49-
- run: npx --yes @getmcpm/cli@0.52.1 verify
49+
- run: npx --yes @getmcpm/cli@0.53.0 verify
5050
```
5151
5252
Pre-commit hook (same verb):
@@ -57,7 +57,7 @@ Pre-commit hook (same verb):
5757
hooks:
5858
- id: mcpm-verify
5959
name: mcpm verify
60-
entry: npx --yes @getmcpm/cli@0.52.1 verify
60+
entry: npx --yes @getmcpm/cli@0.53.0 verify
6161
language: system
6262
pass_filenames: false
6363
```

‎README.md‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,8 @@ The public [mcp-guardbench](https://github.com/getmcpm/mcp-guardbench) contains
124124
versioned results and known misses measured through published `guard inspect`
125125
binaries. Those stateless runtime results do not measure install-time detection
126126
prevalence or promise coverage of unseen attacks. The
127-
[v0.52.0 release record](docs/RELEASE-2026-11-08-v0.52.0.md) retains that release's
128-
artifact, protocol and companion evidence. The metadata-only v0.52.1 patch keeps
129-
the tested companions at 0.52.0; no fresh runtime measurement is implied.
127+
[v0.53.0 release record](docs/RELEASE-2026-11-11-v0.53.0.md) retains the
128+
published artifact, compatibility and synchronized companion evidence.
130129

131130
## Common workflows
132131

@@ -198,7 +197,7 @@ up through stdio MCP. For clients using an `mcpServers` configuration map:
198197
"mcpServers": {
199198
"mcpm": {
200199
"command": "npx",
201-
"args": ["-y", "@getmcpm/cli@0.52.1", "serve"]
200+
"args": ["-y", "@getmcpm/cli@0.53.0", "serve"]
202201
}
203202
}
204203
}

‎docs/AUDIT-REPORT.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Coverage-aware audit report
22

33
`mcpm audit --report-json` is an opt-in, CLI-only version-1 evidence model for
4-
`~/.mcpm/servers.json`. Check help for availability on older installations.
4+
`~/.mcpm/servers.json`. First shipped in v0.53.0; check help on older installations.
55
It reads the mcpm store, fetches **latest registry metadata** for accepted names,
66
and runs the existing static scanner. It does not inventory client configuration,
77
select effective project entries, assess installed package bytes/versions, or

‎docs/BACKLOG.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,8 @@ or universal containment claim. [Hook kinds and lifecycle](https://code.claude.c
242242

243243
## Maintenance, prerequisites and explicit deferrals
244244

245-
- `#131`/`#149`: the bounded CLI-only `audit --report-json` slice is implemented
246-
for review, with fixed mcpm-store inventory, latest metadata, explicit check
245+
- `#131`/`#149`: the bounded CLI-only `audit --report-json` slice shipped in
246+
[v0.53.0](RELEASE-2026-11-11-v0.53.0.md), with fixed mcpm-store inventory, latest metadata, explicit check
247247
states and separate empty/incomplete outcomes; see [contract](AUDIT-REPORT.md).
248248
Legacy audit JSON/SARIF/MCP remain unchanged. This does not close broad audit,
249249
native/client discovery, installed-byte or project-ownership coverage.

‎docs/MAINTAINER-WORKFLOW.md‎

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
# Maintainer workflow and context
22

3-
## Current checkpoint — 2026-11-10
4-
5-
Latest published CLI: **v0.52.1**, an email-metadata-only patch; runtime code and
6-
dependencies remain unchanged from **v0.52.0**, the last behavior release.
7-
Guard-playground and mcp-guardbench deliberately retain their tested **0.52.0**
8-
baseline. The patch does not claim fresh 0.52.1 runtime/native/companion tests;
9-
see [CHANGELOG](../CHANGELOG.md#0521---2026-11-10).
10-
11-
The [v0.52.0 release record](RELEASE-2026-11-08-v0.52.0.md) owns the published
12-
archive, protocol, native-reference and companion evidence. Public usage skill
13-
source is **1.3.2**. The explicit VS Code/Copilot `scope` selector shipped there;
14-
Claude Code remains the default and broader `#141` coverage remains open.
3+
## Current checkpoint — 2026-11-12
4+
5+
Latest published CLI: **v0.53.0**, adding the opt-in CLI-only
6+
`audit --report-json` evidence model. Existing JSON/SARIF/MCP results and scoring
7+
remain compatible. The [release record](RELEASE-2026-11-11-v0.53.0.md) owns
8+
fresh published-archive, protocol and companion evidence. Both companions align
9+
to **0.53.0**. Public usage skill source is **1.3.2**.
10+
11+
The bounded `#131`/`#149` report slice shipped; broader audit and host coverage
12+
remain open. Earlier VS Code/Copilot `scope` evidence remains bound to its named
13+
release/client; Claude Code remains the default and broader `#141` stays open.
1514

1615
The [active backlog](BACKLOG.md) owns selected work and acceptance. Recent bounded
1716
MVP/decision records cover [archive review](ARTIFACT-REVIEW.md),

‎docs/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
Measurements belong to their named archives, inputs and hosts; consult each
3232
record's current reproduction instructions and retained historical limits.
3333

34-
- [Latest behavior release: v0.52.0](RELEASE-2026-11-08-v0.52.0.md) and
35-
[all release notes](../CHANGELOG.md); v0.52.1 is metadata-only.
34+
- [Latest release: v0.53.0](RELEASE-2026-11-11-v0.53.0.md) and
35+
[all release notes](../CHANGELOG.md).
3636
- [Protocol baseline](PROTOCOL-VALIDATION.md), [serve](SERVE-PROTOCOL-VALIDATION.md),
3737
[Skills metadata](SKILLS-GUARD-VALIDATION.md) and [doctor](DOCTOR-EVIDENCE-VALIDATION.md).
3838
- [Native clients](NATIVE-CLIENT-VALIDATION.md), [Cursor](CURSOR-CLIENT-VALIDATION.md),

‎docs/RELEASE-2026-11-11-v0.53.0.md‎

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
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

Comments
 (0)