Add the visual WebMCP Workbench - #14
Conversation
TueJon
left a comment
There was a problem hiding this comment.
P1 — skills/webmcpify/templates/webmcp-workbench.js:108 — normalizeExpected() accepts every manifest entry with an id, while the launcher passes the complete manifest.tools array. As a result, discovered (not yet approved) and terminal rejected tools are displayed as “Expected”/“Observed + expected”; if one is still registered, the Workbench also enables it and permits execution. That crosses the repository's manifest gate: rejected tools are explicitly excluded from every later phase, and this mode promises approved/integrated tools as Expected evidence. A manifest containing {id: "denied", status: "rejected"} is enough to reproduce the false Expected row.
Closure checklist:
- Filter launcher-provided manifest tools to entries that passed the gate; exclude at least
discoveredandrejected. - Apply the same status boundary when the template receives a manifest object directly, while preserving the documented explicit
expectedToolssubset API. - Add coverage proving rejected/discovered entries never appear as Expected or executable, including when a same-name live registration exists.
|
Der blockierende Befund ist in
Verifikation: |
TueJon
left a comment
There was a problem hiding this comment.
No blocking findings. The prior manifest-gate checklist is closed: launcher manifests now use the status-aware path, non-approved entries cannot become Expected evidence, and same-name excluded live registrations are visibly gated and cannot execute; the explicit expectedTools subset API remains intact.
Verified with npm run check (41 tests), the Chromium and Firefox browser suites, and the green current-head CI check. WebKit could not launch locally because its host libraries are unavailable.
Summary
Verification
npm run check— 40/40 passingnode tests/workbench-browser.mjs chromium firefox— desktop, tablet, 360px, dark/light, reduced-motion, simulated transport, native-shaped transport, lifecycle, contrast, focus, overflow, strict CSP, and Trusted Types passingSafety
The Workbench is never wired into a production entry or bundle. Simulated calls are visibly labeled and cannot change a manifest tool to
verified.