Skip to content

Commit c7082dd

Browse files
authored
chore: prepare v0.48.1 release (#300)
1 parent ae59d9b commit c7082dd

6 files changed

Lines changed: 17 additions & 6 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ _Add entries here, never under a stamped version_ — a release commit renames t
88
heading, and a branch that wrote beneath it merges without conflict straight into a
99
published section (it happened to #170).
1010

11+
## [0.48.1] - 2026-10-31
12+
13+
PATCH: close Skills and resource discovery metadata inspection gaps.
14+
1115
### Added
1216

1317
- Guard inspection of Skills frontmatter and resource discovery metadata, including

‎CLAUDE.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
## What We're Building
99

10-
**Unreleased Skills guard coverage (2026-10-31):** `discovery_metadata` inspects
10+
**v0.48.1 release preparation (2026-10-31; publication pending):** `discovery_metadata` inspects
1111
Skills list/get frontmatter and resource discovery metadata with shared metadata
1212
patterns. Critical matches block; ordinary skill resource text remains warn-only.
1313
The candidate-only SDK2.4 fixture exercises modern and legacy wire paths; fixed

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ The guard sits inline on the stdio channel between your AI client and each MCP s
448448

449449
- **The request your agent sends** — the tool name and arguments, checked for sensitive-path exfil and injection smuggled into call parameters.
450450
- **The response the server returns** — checked for instruction injection hidden in the tool's output (the Slack message, web page, or calendar invite your agent is about to read).
451-
- **Skills discovery metadata (unreleased)** — skill list/get frontmatter and resource listing metadata use the same injection/concealment checks. Critical metadata matches block; file text remains warn-and-forward. See [Skills guard validation](docs/SKILLS-GUARD-VALIDATION.md) for measured scope and host-approval limits.
451+
- **Skills discovery metadata (v0.48.1 release preparation)** — skill list/get frontmatter and resource listing metadata use the same injection/concealment checks. Critical metadata matches block; file text remains warn-and-forward. See [Skills guard validation](docs/SKILLS-GUARD-VALIDATION.md) for measured scope and host-approval limits.
452452
- **The tool's own definition** — `tools/list` descriptions, schemas, and annotations, checked against the schema pinned at approval time, so a server can't quietly rewrite a tool you already trusted.
453453

454454
When a frame trips a signature, drift check, or policy rule, the guard **drops it and hands your agent a JSON-RPC error in its place** — carrying the signature id and a `remediation` string — so the poisoned content never reaches your model. Clean calls pass straight through (p99 ~0.065 ms on small frames). Server-initiated `sampling` / `elicitation` requests are inspected the same way, with the error routed back to the server rather than to your agent.

‎docs/GUARD.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Detection is layered:
4141
The stdio relay inspects message content; it does not negotiate versions or
4242
translate protocols. Legacy and modern peers must still be compatible with each
4343
other. The base modern coverage shipped in v0.47.0; the Skills discovery row
44-
below is unreleased. This matrix uses
44+
below is prepared for v0.48.1; publication is pending. This matrix uses
4545
using the [MCP 2026-07-28 changes](https://modelcontextprotocol.io/specification/2026-07-28/changelog),
4646
[discovery](https://modelcontextprotocol.io/specification/2026-07-28/server/discover),
4747
and [MRTR contract](https://modelcontextprotocol.io/specification/2026-07-28/basic/patterns/mrtr).
@@ -55,7 +55,7 @@ and [MRTR contract](https://modelcontextprotocol.io/specification/2026-07-28/bas
5555
| Unknown/malformed `inputRequests` | Emits `guard-unsupported-input-request` (`high`, default `warn`). Coverage is incomplete; the frame is forwarded and logged. Supported siblings are still inspected and can block. Local policy overrides apply normally. |
5656
| `roots/list` input requests | No model/user prompt content to scan. Forwarded; directory authorization remains the client's responsibility. |
5757
| `requestState` and retries | Opaque retry state is preserved without decoding or inspecting it. Retry correlation and the authorization of returned input are responsibilities of the client/server. |
58-
| Skills and resource discovery metadata (unreleased) | `skills/list` entries and `skills/get` entry frontmatter/`_meta`, plus resource listing name/title/description/annotations/`_meta`, reach the shared metadata patterns and concealment/budget checks under `discovery_metadata`. Critical instruction matches block; ordinary `resources/read` file text stays warn-and-forward. Directory reads and `resources/list` share a reply shape, so both resource listing surfaces are inspected regardless of URI scheme. |
58+
| Skills and resource discovery metadata (v0.48.1 preparation) | `skills/list` entries and `skills/get` entry frontmatter/`_meta`, plus resource listing name/title/description/annotations/`_meta`, reach the shared metadata patterns and concealment/budget checks under `discovery_metadata`. Critical instruction matches block; ordinary `resources/read` file text stays warn-and-forward. Directory reads and `resources/list` share a reply shape, so both resource listing surfaces are inspected regardless of URI scheme. |
5959
| Ordinary tool/resource/prompt results | Existing field-scoped detectors and retrieved-data warn clamp remain unchanged, including results that omit `resultType`. |
6060
| External schema references, skill archives, binary media | No external `$ref` resolution, archive fetching/extraction, image/audio understanding, or complete extension validation. Existing in-frame string scanning does not establish coverage of these contents. |
6161
| HTTP transports | No runtime relay inspection. Existing deny-by-default/explicit unguarded consent behavior remains. |

‎docs/PROTOCOL-VALIDATION.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ clients/platforms only with named versions and observed results; real provider
119119
or agent behavior may need dedicated test-account access.
120120

121121

122-
## Skills carrier candidate checks (unreleased)
122+
## Skills carrier candidate checks (v0.48.1 preparation)
123123

124124
The explicit candidate-archive mode additionally resolves the candidate's actual
125125
SDK server dependency to serve the Skills extension, without changing the fixed

‎docs/SKILLS-GUARD-VALIDATION.md‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Skills-over-MCP guard validation
22

3-
Unreleased candidate, measured 2026-10-31 (Asia/Hong_Kong).
3+
v0.48.1 release preparation; publication pending. Candidate measurements from
4+
2026-10-31 (Asia/Hong_Kong) remain distinct from published-artifact evidence.
45

56
## Contract and scope
67

@@ -97,3 +98,9 @@ prompt injection. Binary blobs and external content remain outside this slice.
9798
The SDK also supports these handlers on legacy transports; that measurement is
9899
separate from the stable extension's modern base-protocol requirement. Two
99100
unsupported reference combinations remain legacy→modern-only and modern-pinned→legacy.
101+
102+
103+
## v0.48.1 release preparation
104+
105+
PR #299 merged as `ae59d9b`, byte-identical to reviewed `d08eb1e`, after all nine
106+
checks passed. Release publication and actual-package validation are pending.

0 commit comments

Comments
 (0)