feat: agent commentary during job execution
Some checks failed
CI / Typecheck & Lint (pull_request) Failing after 0s

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>
This commit is contained in:
Alexander Whitestone
2026-03-23 16:40:03 -04:00
parent e41d30d308
commit 29d4a53f8a
4 changed files with 133 additions and 1 deletions

View File

@@ -18,7 +18,10 @@ export type DebateEvent =
export type CostEvent =
| { type: "cost:update"; jobId: string; sats: number; phase: "eval" | "work" | "session"; isFinal: boolean };
export type BusEvent = JobEvent | SessionEvent | DebateEvent | CostEvent;
export type CommentaryEvent =
| { type: "agent_commentary"; agentId: string; jobId: string; text: string };
export type BusEvent = JobEvent | SessionEvent | DebateEvent | CostEvent | CommentaryEvent;
class EventBus extends EventEmitter {
emit(event: "bus", data: BusEvent): boolean;