DD-338 Phase C W2B catalog flips — syncthing + tailscale + caldav #25

Merged
piersdd merged 1 commit from feat/dd-338-c-w2b-catalog into main 2026-05-23 06:52:40 +00:00
piersdd commented 2026-05-23 06:45:53 +00:00 (Migrated from github.com)

Summary

Catalog companion to the 3 sibling blade-mcp PRs (Subagent B half of DD-338 Phase C Wave 2 network+IoT cohort). Flips audit_surface: minimal → structured for 12 tools, plus 1 honest scope_filtering correction.

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)

cal_event (single-record by UID) stays audit_surface: minimal — non-trivial envelope value would be redundant on a point-fetch.

Test plan

  • python3 -c "import json; json.load(...)" per file — JSON validity
  • node scripts/build-catalog.js — Built catalog: 59 plugins + 11 packs = 70 entries, 37 services
  • node scripts/build-forge-context.js — generated scripts/generated/declared-services.js
  • npm test — 122/122 pass (after build-forge-context generates the missing dep)

Sibling per-blade PRs:

Spec: 2026-05-23-dd-338-c-w2-network-iot.md (vault)
DD: DD-338 Phase C Wave 2 Subagent B

## Summary Catalog companion to the 3 sibling blade-mcp PRs (Subagent B half of DD-338 Phase C Wave 2 network+IoT cohort). Flips `audit_surface: minimal → structured` for 12 tools, plus 1 honest `scope_filtering` correction. **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) `cal_event` (single-record by UID) stays `audit_surface: minimal` — non-trivial envelope value would be redundant on a point-fetch. ## Test plan - [x] `python3 -c "import json; json.load(...)"` per file — JSON validity - [x] `node scripts/build-catalog.js` — Built catalog: 59 plugins + 11 packs = 70 entries, 37 services - [x] `node scripts/build-forge-context.js` — generated `scripts/generated/declared-services.js` - [x] `npm test` — 122/122 pass (after build-forge-context generates the missing dep) Sibling per-blade PRs: - Groupthink-dev/syncthing-blade-mcp#6 - Groupthink-dev/tailscale-blade-mcp#4 - Groupthink-dev/caldav-blade-mcp#2 Spec: `2026-05-23-dd-338-c-w2-network-iot.md` (vault) DD: DD-338 Phase C Wave 2 Subagent B
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Stallari/plugins!25
No description provided.