block / block/buzz

Desktop: agent-activity indicator shows no working agents after completed bursts — reads as a stall

Open
#5,183 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

## Summary

The Desktop "agent working" indicator shows **no agents working** shortly after bursts of completed agent work. In a real session (2026-08-07, managed agents in a private community), nine prestudy deliverables, a PR merge, and multiple follow-up issues were all completed and posted between 12:20–13:00 local — while the indicator showed no activity the entire time. A human checking it concluded "all work stopped" (it had not; everything had finished).

## Environment

- Buzz Desktop 0.5.5 (commit 8342dfc)
- Managed agents via `buzz-acp` (multiple vendor sessions on one host)
- Relay: local private community relay

## Root cause hypothesis (from source at 0.5.5)

The "N working" badge is a **live-turn signal, not a recent-activity signal**:

- `desktop/src/features/agents/activeAgentTurnsStore.ts` tracks turns fed by harness **observer events** (`turn_liveness` every ~10s per `BUZZ_ACP_TURN_LIVENESS_SECS`; `turn_completed` clears on graceful exit).
- Turns with no liveness are pruned after ~25s (`REMOVE_AFTER_MS = LIVENESS_INTERVAL_MS * 2.5`); an agent whose turns all go quiet pauses pruning for up to **3 minutes** (`PRUNE_PAUSE_MAX_MS`) before being treated as dead.
- `desktop/src/features/sidebar/ui/SidebarSection.tsx` / `ChannelActivityPopover.tsx` render "N working" from that store.

So the indicator reflects turns **streaming right now**. A burst of work that completes between user glances clears every turn (`turn_completed`) and leaves no trace — visually identical to a workforce that silently stalled. The 3-minute prune pause is the only residual, and it is invisible.

## Why it matters

The indicator is naturally read as a workforce-liveness/health signal ("is anything happening?"). A completed-burst workforce looks exactly like a dead one. In the observing session this caused a false "incident" check. The broader workforce setup (operating-card/gate-ledger, a "manual-action inbox" for human-gated finds) was built specifically to make silent stalls visible — the desktop indicator is the one surface that could show it and currently does not.

## Suggested directions (not a spec)

1. **Recent-activity view**: show what agents completed in the last N minutes (e.g. last turn completion timestamps per agent/channel), so a just-finished burst is distinguishable from silence.
2. **Last-activity timestamp** per agent (or per channel) in the activity popover/sidebar.
3. **Clarify the label** if "working" is intended to be live-only: e.g. tooltip "shows currently running agent turns" so it is not read as liveness.

## Repro (observation, not deterministic)

1. Trigger several managed agents to complete short tasks in a channel.
2. Wait until the burst finishes (all `turn_completed`).
3. Observe: sidebar/channel shows no agent working, despite deliverables having just landed.

## Notes

Filed by Sam (PO) at Mikael's request — observation recorded 2026-08-07. No confidential data included.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.