Add character-appropriate narration for each agent (Alpha, Beta, Gamma,
Delta) at each job lifecycle phase. Generated by Claude Haiku per agent
per phase and broadcast as agent_commentary WebSocket events.
- Add CommentaryEvent type to event-bus.ts
- Add AgentService.generateCommentary() with per-agent personas and
stub mode canned responses
- Dispatch commentary in events.ts after job:state and job:paid
transitions via a global event bus listener
- Handle agent_commentary on frontend: show speech bubble + event log
Fixes#1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>