Playwright sweep of the Web UI activity view against an isolated core (127.0.0.1:18471, scratch data-dir), 2026-08-15.
3 / 3 scenarios passed. Spec: preflight-activity.spec.ts (committed next to this report).
Fixture: two POST /api/v1/preflight calls against a proxy with no upstreams configured, producing unknown_ids records with server_not_configured reasons.
Expected: Row typed “Preflight” (icon + label), Details cell carrying the set verdict and the reason rollup instead of an empty cell.
Observed: Row reads Preflight / unknown_ids (3 tools): server_not_configured x3, status Blocked.
Expected: The multi-select Type dropdown lists Preflight alongside the existing types, and checking it filters the table to preflight records only.
Observed: Menu entry present; after checking it, every visible row is a preflight row (asserted by row-count equality).
Expected: Dedicated “Preflight Verdict” section (verdict badge, id count, reason rollup, per-tool list). The generic “Policy Decision” block, which keys off status=blocked, must NOT appear.
Observed: Section present with unknown_ids, server_not_configured x1, ctl:echo / unavailable; no Policy Decision block.