tRPC subscriptions use connecting/pending/error/idle — not success. The old code mapped pending→isConnecting and waited for success (which never fires), causing AgentOutputViewer to permanently show "Connecting...". Now: connecting→isConnecting, pending→isConnected, idle→disconnected.