Error 는 데이터, 예외 아냐
Protocol 의 error message 가 그냥 다른 message: typed envelope, machine-readable code, human-readable text. 클라 UI 가 code 를 동작 (toast, modal, redirect) 에 매핑. error format 이 public API 의 일부 — 한 번 픽, 유지.
여섯 표준 code
이 여섯 커버하면 REST 의 error 어휘 대부분 WebSocket 으로 옮겨와: invalid_message, unauthorized, forbidden, not_found, rate_limited, internal_error. 앱별 code 필요하면 추가 (room_full, session_expired) 근데 release 사이 stable 유지.