Should an SSE `done` event be gated on explicit completion markers instead of async iterator exhaustion?