From 6df73d771e5eb6cd12ee49f11aca62f53a8260fb Mon Sep 17 00:00:00 2001 From: Piers Date: Sat, 23 May 2026 16:39:59 +1000 Subject: [PATCH] =?UTF-8?q?DD-338=20Phase=20C=20W2B=20catalog=20flips=20?= =?UTF-8?q?=E2=80=94=20syncthing=20+=20tailscale=20+=20caldav?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flips `audit_surface: minimal → structured` for 12 tools across 3 blade-mcps (Subagent B half of Wave 2). Plus 1 honest scope_filtering correction on cal_search per OQ-1 ratification. **syncthing-blade-mcp** (0.7.0 → 0.8.0) — 4 tools: - syncthing_folder_errors - syncthing_browse_folder - syncthing_folder_need - syncthing_remote_need **tailscale-blade-mcp** (0.4.0 → 0.5.0) — 1 tool: - ts_device_routes **caldav-blade-mcp** (0.1.1 → 0.2.0) — 7 tools + 1 scope flip: - cal_calendars (audit_surface) - cal_events (audit_surface) - cal_events_batch (audit_surface) - cal_search (audit_surface + scope_filtering: client-side → server-side per OQ-1; underlying CalDAV REPORT honours all named args server-side) - cal_today (audit_surface) - cal_week (audit_surface) - cal_freebusy (audit_surface) Sibling per-blade PRs ship the wire-side emitter changes (`_meta` envelope via `_append_meta`/`append_meta`/`append_meta_envelope` helpers, latency wrapping, filtered_by content). `cal_event` (single-record by UID) stays `audit_surface: minimal` — non-trivial envelope value would be redundant. Catalog build green; `npm test` 122/122 pass. Spec: [[2026-05-23-dd-338-c-w2-network-iot]] DD: [[DD-338]] Phase C Wave 2 Subagent B Co-Authored-By: Claude Opus 4.7 --- plugins/tools/caldav-blade-mcp.json | 18 +++++++++--------- plugins/tools/syncthing-blade-mcp.json | 10 +++++----- plugins/tools/tailscale-blade-mcp.json | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/plugins/tools/caldav-blade-mcp.json b/plugins/tools/caldav-blade-mcp.json index 46f2c0b..b8bcd1e 100644 --- a/plugins/tools/caldav-blade-mcp.json +++ b/plugins/tools/caldav-blade-mcp.json @@ -3,7 +3,7 @@ "title": "Calendar (CalDAV)", "description": "CalDAV calendar operations \u2014 protocol-level access to any CalDAV server", "tagline": "Universal calendar access over the CalDAV protocol", - "version": "0.1.1", + "version": "0.2.0", "author": "groupthink-dev", "license": "MIT", "icon": "/icons/caldav-blade-mcp.svg", @@ -81,7 +81,7 @@ "scope_filtering": "none", "field_projection": "none", "deterministic_ordering": "unsorted", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -92,7 +92,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -103,7 +103,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "unsorted", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -122,10 +122,10 @@ "description": "Search events by text, attendee email, or location. Optional calendar and date scope.", "risk_class": "read_only", "granularity": { - "scope_filtering": "client-side", + "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "unsorted", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -136,7 +136,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "unsorted", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -147,7 +147,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "unsorted", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -158,7 +158,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { diff --git a/plugins/tools/syncthing-blade-mcp.json b/plugins/tools/syncthing-blade-mcp.json index 8b13e58..08e26d7 100644 --- a/plugins/tools/syncthing-blade-mcp.json +++ b/plugins/tools/syncthing-blade-mcp.json @@ -4,7 +4,7 @@ "title": "Syncthing", "description": "Syncthing replication management MCP \u2014 multi-instance, token-efficient output, safe disk-space reclamation. Read and control access to Syncthing's REST API with a focus on replication awareness: knowing which folders are fully replicated across devices so you can confidently reclaim local disk space.", "tagline": "Mesh file sync with replication-aware disk reclamation", - "version": "0.7.0", + "version": "0.8.0", "author": "groupthink-dev", "license": "MIT", "icon": "/icons/syncthing-blade-mcp.svg", @@ -254,7 +254,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -265,7 +265,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -287,7 +287,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -298,7 +298,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { diff --git a/plugins/tools/tailscale-blade-mcp.json b/plugins/tools/tailscale-blade-mcp.json index de71f0e..0fdb099 100644 --- a/plugins/tools/tailscale-blade-mcp.json +++ b/plugins/tools/tailscale-blade-mcp.json @@ -3,7 +3,7 @@ "title": "Tailscale", "description": "Tailscale network monitoring and security — device inventory, ACL policy review, DNS configuration, auth key auditing, users, and audit logs", "tagline": "Monitor and secure your tailnet — devices, ACLs, keys, DNS, and audit trail", - "version": "0.4.0", + "version": "0.5.0", "author": "groupthink-dev", "license": "MIT", "icon": "/icons/tailscale-blade-mcp.svg", @@ -104,7 +104,7 @@ "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, {