- Start real pylsp process in fixture (retry-loop until port accepts) - Fake client sends LSP initialize via WebSocket proxy - Verify real pylsp capabilities + completionProvider in response - Fix LSP frame parser to handle multi-header responses (Content-Length + Content-Type) - Test graceful close when backend unreachable