Files
dashcaddy/dashcaddy-api/__tests__/mcp
Hermes 4339d430f6 [grade=A urn:ump:5clu4udrbwuwxn74tqwxtukfjnrwkrbiykp6uh66ipipzxr32xsq] Merge dc/DC-166-mcp-completion (e524d16): MCP 17->28 tools + workflows double-prefix fix
Resolves 0 conflicts (auto-merge; the branches touched disjoint regions
of src/mcp/mcp-core.js). Fixes audit P0-4 (DC-166 drift: the fix branch
was never merged, so the branch shipped 17 tools while changelog/
capabilities claimed the expanded set, and the workflows UI was broken)
and the production Workflows outage.

Incoming:
- src/mcp/mcp-core.js: 11 new tool handlers over existing routes
  (calendar events/add_source, security events/summary, license_status,
  capabilities, DNS add/remove record, deploy_recipe, run_workflow,
  tailscale_status); DC-162 machine-only gate preserved
- routes/workflows.js: double-prefix fix — declarations are mount-
  relative (/history before /:workflowId/history); the dashboard's
  single-prefix calls no longer 404 (Premium feature was dead in prod)
- __tests__/mcp/mcp-core-dc166{,-integration}.test.js: tool/schema +
  route-existence verifier (scoped to the 11 new tools; extension to
  all 28 is the MCP truth batch, audit #40)

Merge-commit fixes (judge r1 C -> r2 A, urn:ump:2jdpii43.../5clu4udr...):
1. integration-test header over-claimed COMPLETE tool coverage — scope
   narrowed to the DC-166 additions, stated explicitly
2. routes/workflows.js: shadowed top-level ok import removed (all uses
   inside the factory use deps.ok) + comment documenting the trap

Verified on merged tree: TOOLS.length=28, MCP+workflows 44/44.
Judge A — urn:ump:5clu4udrbwuwxn74tqwxtukfjnrwkrbiykp6uh66ipipzxr32xsq
2026-10-28 00:04:01 -07:00
..