Spec 032 · parent MCP-2081 · frontend/src/views/ServerDetail.vue
The Tool-Quarantine banner now keys off status=changed (plus residual
pending once a change has surfaced) and is suppressed entirely while the
server-level Security-Quarantine banner is showing. Captured live against a fresh
mcpproxy + the echo-rugpull test server via Playwright (pinned Chromium 1217).
Expected Server has quarantined=true with two non-approved (pending) tools. Exactly ONE banner shows — the server-level 'Security Quarantine' — and the tool-level 'Tool Quarantine' banner is suppressed entirely (never two banners at once).
Observed Only the 'Security Quarantine' banner renders. No 'Tool Quarantine' banner despite both tools being pending. (data-test=tool-quarantine-banner asserted count 0; security-quarantine-banner visible.)
Expected Server is Active (not quarantined) with only freshly-pending baseline tools and no changed tool. Neither banner shows — a freshly-pending baseline tool must not nag the operator. (Pre-fix this showed '2 tool(s) require approval'.)
Observed No banner of either kind. Tools list 'echo'/'get_time' with informational 'new' badges only. (Both banner data-tests asserted count 0.)
Expected Server is Active (not quarantined); two tools flipped to 'changed' (rug-pull) plus a residual 'pending' new tool. The 'Tool Quarantine' banner appears keyed off the changed status, listing changed + residual pending tools with per-tool Approve UI and before/after diffs.
Observed 'Tool Quarantine' banner shows '3 tool(s) require approval'. echo/get_time show 'changed' with before/after diffs; steal_data shows 'pending'. (tool-quarantine-banner visible; security-quarantine-banner count 0.)