Skip to content

bug(desktop): collapsed tool rows show no invocation target — ordinary tool cards read empty #3336

Description

@me2seeks

Symptom

In the Desktop transcript, an ordinary collapsed tool row and collapsed group header can have no invocation target during the live window. A row may read ● Bash instead of ● Bash $ git status --porcelain, so the user cannot tell what a long-running call is doing.

After durable args are available, the shared invocation formatter can derive a command, path, pattern, title, or URL. The remaining cross-surface gap is that Runtime Host live tool_start frames intentionally omit full args, while Desktop's collapsed target previously depended primarily on intent.

Scope

This issue covers the ordinary-tool collapsed-row what slot:

  • carry a bounded, redacted invocation preview through the live Runtime Host event;
  • render intent ?? invocation preview in the single-call row and group header;
  • keep durable args/history as the full-data authority;
  • preserve the existing expanded detail panel and result deduplication.

Scope split

Task Ledger tools are not ordinary invocation summaries. task_create needs committed IDs and the complete created set; task_update needs the subject and mutation snapshot owned by the Session Task Ledger. Their semantic timeline is tracked separately in #4179 and is intentionally excluded from this issue and #3376.

Acceptance

  • An ordinary tool with a safe structured target shows one line describing what it is doing in the collapsed row and collapsed group header during the live window.
  • Preview data is allowlist-shaped, bounded, and redacted; full file bodies and arbitrary provider/MCP payloads do not enter the live wire.
  • A settled or historical row continues to use durable args.
  • Tools without a safe preview keep the current name-only fallback.
  • Task Ledger presentation remains unchanged and is handled by feat(runtime-host,cli): render Task Ledger mutations as a durable semantic timeline #4179.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions