# ADR 003: User Event Stream Transport ## Status Accepted ## Context UI требует поток событий по task execution: - `task_started` - `node_started` - `node_completed` - `confirmation_required` - `task_completed` - `task_failed` В исходных документах упомянуты `SSE/WebSocket`, но как основной transport нужно выбрать один. ## Decision Основной transport для пользовательского event stream: Server-Sent Events. WebSocket не исключается, но считается вторичным adapter для будущих realtime-потребностей. ## Rationale SSE проще для: - однонаправленного server-to-client прогресса; - проксирования; - reconnect semantics; - дебага и совместимости с обычными HTTP-инструментами. WebSocket нужен не UI в первую очередь, а local worker transport. ## Consequences `GET /tasks/{id}/events` фиксируется как SSE endpoint.