# PR4 live smoke — 2026-06-17 Branch `feature/warm-hive-pr4` @ `d9123060`. Sidecar (tsx, transpile-only → runs the new route/decoration from source; `WAGGLE_SKIP_LITELLM=1`) on :3333 vs the founder's real `~/.waggle` (tier TRIAL, Marketplace DB loaded). Vite on :8080. Chrome-devtools MCP. ## Backend route (curl, real marketplace.db + connector registry) `POST /api/marketplace/agent-search` with a minted session token: - `{"need":"send a message to my team in slack"}` → **7 candidates**, three-up: - **connector** `Slack` — why `"matches: send, message, slack"` — `install:{mode:"active"}` (Slack is connected in this vault → honestly shown as active, no install). - **skill** `slack-cursor` — `install:{mode:"store", extensionId:"pkg:84", type:"mcp", kind:"package", packageId:84}` (real id rejoin). - **tool** `microsoft-teams-mcp-server` — `pkg:194616`. - `{"need":""}` → **HTTP 400** (validation). - No-auth → **HTTP 401** (gated). `/health` → ok. Confirms: the connector lane (registry keyword-match), the marketplace name→packageId rejoin, and the route wiring all work against live data. ## Frontend (chrome-devtools, /marketplace) - Surface renders: header **Marketplace** + **" installed" count bar** (D1, store-derived); **4 shelves** — `All` (pressed) / `Skills` / `Connectors` / `MCPs` (D2); search box; real marketplace packages (agent-skills, awesome-agent-skills, awesome-openclaw-skills, …). - **"Browse only"** label on marketplace-pack cards (review LOW #6 fix — no blank action slot). - Grid cards show **type-aware verbs** Add / Connect / Enable + honest "Available" badges (D3, §1 one-click). - **AskBar** ("Ask Waggle") + example chips render at the top of the browse tab. - Clicking the example chip "send a message to my team" → the **three-up suggestion box** rendered live: - **Connector** slot — why `"matches: send, message, team"` — **Connect** button. - **Skill** slot — why `"name matches: team; content mentions: send, message"` — **Enable** button. - **Tool** slot — **Enable** button. - **0 console errors / warnings** — on initial load AND after the agent-search (checked twice). Evidence: `smoke-pr4-20260617-marketplace.png` (viewport), `smoke-pr4-20260617-after-search.txt` (a11y snapshot after search). ## Not exercised (deliberate) - Did **not** click Add/Connect/Enable on a real package/connector — that mutates the founder's real `~/.waggle` (installs a real package / writes a real vault credential). Cross-surface count-sync on install is component-tested (`pr4-install-store`, `phase4b` "count ticks up"); the inline chat card is covered by `pr4-inline-capability`. - The agent emitting `kind:'connector'/'mcp'` markers (so connector/mcp offers appear inline in chat) is a prompt-level follow-up; the parser + card support it. ## Gates at smoke time tsc apps/web 0 · tsc packages/server 0 · full FE vitest 1052/1052 · server helpers 12/12 · adversarial review HIGH+MEDIUM fixed + regression-locked.