docs/qa/mcp-3243-profile-switcher/report.html
Profiles v2 — T4 · consumes REST /api/v1/profiles (MCP-3241)
5/5 Playwright scenarios passed · 230 vitest passed · type-check clean
Verified against a live core (127.0.0.1:18243) with two configured profiles (dev→[github, ast-grep], solo→[github]). Screenshots captured by switcher.spec.ts in execution order.
#✅ Default state — no profile selected
Expected: Header shows “Profile: All servers”; zero-config default, no filter.
Observed: Label reads “All servers”; menu closed.
#✅ Open switcher — profile list
Expected: Dropdown lists each configured profile with server membership + tool count; All-servers marked active.
Observed: “All servers” (active badge), “dev — 2 servers · 0 tools”, “solo — 1 server · 0 tools”.
#✅ Select profile “dev”
Expected: PUT /api/v1/profiles/active persists; header label switches to the chosen profile.
Observed: Header label now reads “dev”.
#✅ Active badge follows selection
Expected: Re-opening the menu shows the active badge + check on “dev”, not “All servers”.
Observed: “dev” carries the active badge/check.
#✅ Clear back to All servers
Expected: Selecting “All servers” PUTs an empty slug; header returns to the zero-config default.
Observed: Header label back to “All servers”.