Skip to content

Make current agent activity readable without leaving the thread - #484

Draft
morgmart wants to merge 6 commits into
mainfrom
morganm/agent-activity-overhaul
Draft

morgmart wants to merge 6 commits into
mainfrom
morganm/agent-activity-overhaul

Conversation

@morgmart

@morgmart morgmart commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

What this does

Owners can see, at a glance and truthfully, what their agents are doing. Three surfaces answer three questions, all from one source:

  • Sidebar: which channels have an agent working.
  • Channel timeline thread summary: which threads have an agent working.
  • Under the exact message: which message each agent is working on, with its current step.

How it works

Local lifecycle for Agents2 agents (Claude Code, Codex). The app already admits, queues and runs these agents, so it records their lifecycle locally: received (waiting in the queue), starting (handed over, no step yet), working (on a named step), then done or failed with the plugin's actual outcome. Nothing new is published to the relay, and there's no runtime change, polling or timer. It's in-memory and bounded to 512 entries. Legacy ACP agents keep the existing observer-telemetry path unchanged.

Live steps. Claude Code and Codex already stream their steps to the app. The plugins now report the latest one (tool plus target) and the popup shows it in plain wording from a fixed lookup, with no model rewriting. For example: "Reading notes.md", "Searching for useProviderInventory", "Running mktemp, xargs" (Codex's login-shell wrapper and scripts are stripped), or Claude's own command description. Lines are one line, truncated, and shimmer while live.

Presentation.

  • TypingDots breathe in unison while received/starting and switch to the staggered pulse on the first real step. Working now rests at the breath's dim level, so the handoff rises instead of flashing.
  • A new buzz-arrive design-system recipe: the message bubble opens and closes its space smoothly, so the reply slides instead of jumping. Thread dots and the sidebar badge fade. Only opacity, transform and a held clip are used; reduced motion disables it. Ending work keeps the same element through its exit, so the list never collapses and regrows mid-handoff.
  • ShimmerText (new, proposed) for live step labels.
  • A message bubble replaces its row's duplicate thread-summary dots for that exact message only.
  • Clicking a step opens the agent's profile on its activity: plugin agents land on their own session tab, harness agents on Activity.

Shared selection. session.agentChoices includes the viewer's Agents2 identities in this community, without changing templates.

Scope notes

  • Main's Transcript/Raw activity panel and saved history are kept; this branch's earlier ActivityStream/transcript were retired in favor of them.
  • Narrowly scoped edits to protected startup/session wiring (services → communities → relay session) pass the local activity reader through; approved by Morgan.
  • Cross-device activity is out of scope (local-only by design).

Validation (at 28d36a0)

  • Full Vitest suite passes (9,268 tests at the rebase; focused suites rerun after each later change). tsc, design typecheck/check/build pass.
  • Browser (Chromium + WebKit): local-agent-activity.spec.mjs (lifecycle across sidebar/thread/message; duplicate-dots regression; bubble-exit no-rebuild regression, fail-then-pass verified) and agent-activity.spec.mjs, 22 checks. Design: typing-dots.spec.ts.
  • Frame-by-frame probes (temporary, removed) confirmed the arrival opens evenly and the exit removes the bubble once after closing; before the fix it was removed and re-added at the end of work.
  • Morgan tested live with Claude Code and Codex Agents2 agents on the Block relay: steps, wording, Starting state, dots handoff, arrival/exit motion, truncation and click-through.

Known gaps / deferred

  • agent-activity.spec.mjs "channel activity control … wide and narrow layouts in light" failed twice (1280 vs 1428 width) and passed on reruns. Flaky; needs investigation before ready-for-review.
  • No automated test yet for a plugin agent's profile opening on its session tab (verified by hand).
  • Packaged/native acceptance and hosted CI pending.
  • Separate main bug seen while testing: mentioning only Agents2 agents can show the legacy "Agent could not start" notice when the old agent list read fails.

@morgmart
morgmart force-pushed the morganm/agent-activity-overhaul branch from 4b6ad80 to d90b4cf Compare October 5, 2026 14:36
Carl and others added 6 commits October 10, 2026 21:27
Keep coordination messages unchanged. Reuse profile tabs for activity navigation and show readable tools before expandable progress and diagnostics.

Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Signed-off-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Signed-off-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Signed-off-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Signed-off-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Signed-off-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Agents2 agents (Claude Code, Codex) now report a local lifecycle: received,
starting, working on a named step, done or failed. The sidebar, thread summary
and the bubble under the exact triggering message all read that one source,
with the legacy ACP observer path unchanged as a fallback.

- Plugins report their latest step from the stream they already receive;
  the popup shows it as one readable, truncated line with a shimmer while live.
- TypingDots breathe until the first step and rise into the working pulse.
- Activity indicators share a buzz-arrive recipe: the bubble opens and closes
  its space smoothly; inline indicators fade.
- A message bubble replaces its row's duplicate thread-summary dots.
- Clicking a step opens the agent's profile on its activity: plugin agents
  land on their own session tab.

Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
@morgmart
morgmart force-pushed the morganm/agent-activity-overhaul branch from fa5869d to 28d36a0 Compare October 11, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant