When should an SSE endpoint emit done vs error at stream end?