## Frontend fixes (React / TS — no server change)

ID | Fix | Size | Pri
--- | --- | --- | ---
BUG-014 | Site Detail page has no agent search box — add `agentSearch` state + filter. Every other list page already has this. | ~30 min | P1
Error boundary | No `ErrorBoundary` anywhere — one component throw whites out the whole app. Wrap `<AppRoutes>` with fallback + reload. | ~30 min | MED
BUG-009 | `Logs.tsx` — 3 `useQuery` calls with no `isError` handling (errors look like "no results"). Copy the pattern from `Clients.tsx:164`. | ~1 hr | MED
BUG-010 | 8 pages still missing `isError` handling (Alerts, AlertTemplates, Commands, Dashboard, Logs, Settings, Sites, Users) — same pattern. | ~half day | MED
BUG-011 | 14 `: any` annotations across 6 files — swap to existing typed interfaces / `unknown` + `isAxiosError`. | ~1 hr | MED

## Server fixes (Rust)

ID | Fix | Size | Pri
--- | --- | --- | ---
BUG-008 | `metrics.rs` leaks raw `e.to_string()` DB errors to clients at 5 sites — route through existing `internal_err()` helper. | ~30 min | MED
Client row | `GET /api/agents/:id` hardcodes `client_name: None`, so AgentDetail's "Client" row never renders — enrich `get_agent` or drop the field. | ~1 hr | MED
Fleet counts | Dashboard recomputes counts client-side; `/metrics/summary` + `/agents/stats` exist but are unused — wire them or delete. | ~1 hr | LOW

## Other small ones

ID | Fix | Size | Pri
--- | --- | --- | ---
BUG-015 | Agent missing from Programs & Features — WiX-only edit, add ARP properties + product icon. Spec'd in SPEC-011. | ~1 hr | P2
Changelog UI | Read-only version-history table on AgentDetail. May need one `GET` endpoint. | ~0.5 day | P3

Recommended quick session: knock out BUG-014 + Error boundary + BUG-008 together — all three are sub-hour (two frontend, one backend), and BUG-014 is a P1 that Howard reported.
Note: BUG-002 and BUG-006 are already fixed in branch `fix/audit-2-remediation` but unmerged. That branch can be reviewed/merged separately if useful.