Skip to content

feat(agent-activity): replace the Agent Activity popup with a full-screen fleet view #1170

Description

@Juliusolsson05

Problem

Agent Activity (Open Agent Activity…) is a small popup built before the unified stage (#1013). With a real fleet of 30–50 agents it cannot answer the questions it exists for. The evidence and full decomposition are in #1105 (docs/decomposition/agent-activity-redesign.md), recorded against the owner's live window:

  • it has no "needs you" signal: no pending permission or question, no failed provider turn, no usage limit, no blocked goal loop, no stuck queued prompt;
  • rows are unidentifiable: 3 of 33 sessions have a title, so most rows read as the folder name (agent-code, three times);
  • it lists panes, not agents, so parked pool sessions (the ones most likely to be closable) are hard to reach;
  • it still says tabs / Dispatch order, which Unified stage layout: one workspace of lanes, rows and a session pool #1013 removed;
  • it has no filter, and actions are hover-only and one at a time.

Decisions (owner, 2026-09-24)

  1. Full screen, not a popup.
  2. Keep Close Old Agents and Close Idle Orchestration Agents as they are. They are quick one-shot commands; Agent Activity does not replace them.
  3. Row name when nobody set a title: the agent's Goal, then the folder.

Intended behaviour

One full-screen view that answers, for every agent in the window (lane or pool):

  1. Needs you: live condition (permission, question, trust…), failed provider turn, provider/process error, usage limit, goal loop blocked or paused, queued prompt that is not being sent. Each row says why.
  2. Working: live agents with their TLDR line.
  3. Idle / Exited: oldest first, selectable in bulk.

Plus: type-to-filter, one keyboard grammar (↑/↓, Enter focus, Space select, ⌫ close, Esc), and bulk close through the approved-close executor (bulkClose.ts) with a confirmation.

Acceptance criteria

  • One pure row model decides each agent's section and reason; replayed against the recorded fleet and runtime fixtures in feat(agent-activity): replace the popup with a full-screen fleet view #1105.
  • TLDR/Goal/Goal Loop are read in one batched call per kind, only while the view is open.
  • Rows show title → Goal → folder, and say which one they are showing.
  • Bulk close asks once, closes through closeGrantedSessions, and refuses a target that started working after approval.
  • Closed view does no derivation work (joins closedModalDerivations).
  • Close Old Agents and Close Idle Orchestration Agents are unchanged.

Refs #1105

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:featureNew capability (out of quality-loop fix scope)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions