# WebSocket Contract: Task Logs

## Endpoint
`WS /ws/logs/{task_id}`

## Description
Streams real-time logs for a specific task.

## Connection Parameters
- `task_id`: UUID of the task to monitor.

## Message Format (Server -> Client)
```json
{
  "task_id": "uuid",
  "message": "Log message text",
  "timestamp": "2025-12-20T20:20:00Z",
  "level": "INFO"
}
```

## Error Handling
- If `task_id` is invalid, the connection is closed with code `4004` (Not Found).
- If the connection fails, the client should attempt reconnection with exponential backoff.
