- Wire WebSocketGateway into RunnerJobsService: emit job:created,
job:status, and job:progress on create/cancel/retry/updateStatus/
updateProgress operations
- Add 30s polling interval to dashboard page for near-real-time updates
- Enhance OrchestratorSessions widget with progress bars and step
status labels
- Update test mocks with WebSocketGateway provider
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>