Skip to content

TUI: group exploration while preserving read ranges and original calls #1870

Description

@code-yeongyu

Summary

Consecutive read/search/list calls occupy separate TUI cards, including repeated reads of one file. The compact transcript should group exploration without losing the original calls, results, or requested line ranges.

Reproduction

Send three read calls for src/sample.ts: {offset:1,limit:200}, {offset:201,limit:200}, and {offset:401,limit:200}, followed by grep and an assistant answer.

Expected

  • Default compact exploration group, active/completed states, bounded preview, visible failures.
  • One same-file read summary with read count and explicitly requested ranges; do not imply that requested lines were returned.
  • Existing expansion key and mouse control restore original ordered calls and results.
  • Original tool-call IDs still route every update/result.
  • Hidden reasoning does not split exploration; visible text/reasoning and non-exploration tools do.
  • Identical live/history behavior, including text between tools.
  • Specialized skill, memory, resource, and custom tool renderers retain their semantic presentation.

Actual and evidence

At 069cb5cbb96730fdee30c9b323ef387ba0d222b7, packages/coding-agent/src/modes/interactive/interactive-mode.ts adds each tool card directly in message updates and tool execution events. renderSessionItems adds the whole assistant message before its tool cards, unlike the live trailing-text path.

Root cause

There is no exploration presentation model between original transcript components and their compact display. The replay path also does not retain interleaved text/tool ordering.

Scope and verification

Presentation only. Do not combine executions or persisted messages. Cover partial arguments, overlapping/disjoint/open-ended requests, EOF/truncation, same basenames in different directories, failure/cancel, hidden/visible reasoning, history replay, bounded many-call rendering, and ordinary tools. Verify the existing event seam before production edits and capture the real provider-to-interactive TUI through a PTY at 80/120 columns.

Related

All-state searches for coalescing, exploration grouping, tool grouping, and the interactive-mode path found no matching tracker. PR #993 / issue #990 concern live trailing assistant text and are adjacent history, not the same request. Provider message coalescing in #1126 is unrelated.

The grouping reference is openai/codex at 5c5308fc9a9ee789049d646ef11e5400384b9c6f: exec model/render, command lifecycle, activity groups, and history/replay tests. Requested range summaries are an additional accuracy requirement.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions