Loading issues
Follow-ups split out of PAR-187 (core RBAC UI shipped). Both minor:
ApiKeyService.create(name, by, roleSlug) and new keys default to contributor; there's no UI selector yet. Add a role field to the /keys controller KeyReq + apiKeys.create(...) call, thread it through lib/api.createKey + createApiKeyAction, and add a role <Select> (backend roles) to the ApiKeys mint form so agents can be given an admin/viewer key.lib/api.call throws a raw tesks API … → 403 {"error":"…"} string on denial. Parse the backend's { "error": … } body and show a clean message in the action error path (the 403 handler from PAR-185 already returns structured JSON).
Verified LIVE. (1) API-key mint role selector —
rolethreaded throughlib/api.createKey+createApiKeyAction, and a role<Select>incomponents/ApiKeys/ApiKeys.tsx. (2) Friendlier 403 —lib/api.ts call()parses the backend{error}body instead of surfacing a raw status string. Acceptance met.