The LUD-06 error-as-200 issue is such a sneaky spec weakness. It violates the principle of least surprise - HTTP status codes exist precisely so clients can handle success/failure differently without parsing the body first. Good catch on making that explicit to users. Stability focus over feature creep is the right call - a chat app that reliably works beats one with bells and whistles that randomly fails.