REST + WebSocket is the dominant production pattern
The most common production architecture is not "WebSocket for everything." It is REST for create/read/update/delete + WebSocket for live updates. POST a chat message to /api/messages; the REST handler persists it AND fans out via WebSocket. Reconnecting clients fetch history via GET /api/messages?since=X, then receive new messages via WebSocket.
SSE + WebSocket is the AI-era pattern
For applications with both AI streaming (one-way, high-token-rate) and interactive features (bidirectional), use SSE for the streaming and WebSocket for the rest. cwkPippa lives at this seam: chat replies stream over SSE, council picks and admin actions go through REST, and a single WebSocket carries presence and notifications. Three transports, each picked for what it is good at.