Skip to content

Show live progress on a dispatched sub-agent's transcript row - #352

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-5576-subagent-progress
Aug 7, 2026
Merged

Show live progress on a dispatched sub-agent's transcript row#352
TheGreatAxios merged 1 commit into
mainfrom
cl-5576-subagent-progress

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • A dispatched sub-agent's task call row now updates in place with live
    elapsed time, its current tool, and a mark that distinguishes actively
    working, quietly finished, and stalled (no progress signal past 30s).
  • Wiring reuses what already exists: SubAgentSessionStore sessions
    (status, currentToolName, startedAt, plus a new lastActivityAt) are
    read on the existing chrome poll cadence and folded into the row the
    runtime bridge already tracks by callId — no new event channel.
  • Resolving a dispatch now correctly drops the live elapsed-time trailer
    in favor of the result's own answer, fixing a case where a stale
    in-flight stat could survive onto a finished row.

Verification

  • bun run typecheck
  • bun run build
  • bun run test — 3912 pass, 0 fail
  • Captured a real frame via the OpenTUI test harness with three
    concurrent dispatches (two working, one resolved):
    ◐ Task Review permission gate 0:42 · grep
    ◐ Task Review context meter 0:41 · read
    ✓ Task Review mouse/paste 8 lines
    

Closes CL-5576

@linear-code

linear-code Bot commented Aug 7, 2026

Copy link
Copy Markdown

CL-5576

A task call's row painted a bare dot until its result landed, so a
parent that dispatched several sub-agents at once had no way to tell
a worker mid-turn from one that had gone silent — every unfinished
dispatch looked identical.

The sub-agent session store already tracks each worker's current tool
and now its last activity clock; the runtime bridge polls it on the
same cadence it already ticks the chrome and rewrites each outstanding
task call's row in place with elapsed time, current tool, and a mark
that tells working apart from stalled. The row itself never grows an
extra line and the rewrite touches only that one row, regardless of
how many other rows sit above it.

Resolving a dispatch drops its live elapsed-time trailer for the
result's own answer rather than leaving the last progress reading
stuck on a finished row.
@TheGreatAxios
TheGreatAxios force-pushed the cl-5576-subagent-progress branch from 3769dd9 to 58e3b15 Compare August 7, 2026 07:24
@TheGreatAxios
TheGreatAxios merged commit 4d6a6cb into main Aug 7, 2026
2 checks passed
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