Expand description
Live activity: what each working unit is doing right now, for the display clients’ working row.
The turn worker reports coarse progress upward as [AgentMsg::Event]
frames — turn.think, turn.round, turn.tool. Here they fold into a
per-unit Activity record — phase, current tool, round, tokens so far,
start time — and publish as activity feed events.
Deliberately coarse: an event is emitted only when something the
operator would notice CHANGES (phase, tool, round). Elapsed time is not
streamed — the record carries started_ms and clients tick their own
clock — so a long think emits nothing at all. That keeps the feed’s replay
ring meaningful: a handful of activity events per turn rather than one per
second, so a client that reconnects can still see the whole turn in the
ring instead of a second’s worth of noise.
Structs§
- Activity
- One working unit’s live activity.
Enums§
- Phase
- What a unit is doing.