Repository navigation
Session tool titles and Working status need consistent bounded summaries #598
Description
Problem
Session chrome and transcript summaries become visually overwhelming with long Codex tool titles, commands, paths, and Goal objectives. The reported screenshot shows shell/heredoc bodies used as tool headings and a Working/loading status expanding into many lines above the composer. Several collapsed rows span almost the entire wide desktop even when they eventually ellipsize.
This is a summary/presentation problem: full commands and payloads must remain available in their detail views, copy actions, and transcript search.
Confirmed code findings
web/src/systems/session/components/session-thinking-row.tsx:WorkingStatusLinerendersstatus.activityinside plain nested spans. Neither the activity segment nor its text wrapper has a bounded width, line limit, or ellipsis. A large activity string can consume many rows and displace the composer/transcript.web/src/systems/session/lib/session-working-status.ts:currentActivitypassessession.activity.current_tooltoliveToolLabel(tool).verb.web/src/systems/session/lib/tool-labels.ts: unknown provider titles are returned intact byresolveRegisteredToolName. The fallback uses the whole value in Running/Used labels.getToolCompactSummarybounds input summaries, but this does not bound the title/fallback path.web/src/systems/session/lib/session-tool-visual-state.ts: unknown tools becomeRunning <entire title>; agent previews can also use an entire prompt.web/src/components/assistant-ui/session-live-tool-row.tsxandpackages/ui/src/components/custom/tool-call-row.tsxalready have CSStruncateon text. They constrain against available container width rather than a deliberate readable summary limit, so enormous titles still cross a wide window. Do not incorrectly diagnose every row as missing ellipsis.- Collapsed reasoning in
thinking-block.tsxuses the complete first nonempty line with container-only truncation.session-goal-strip.tsxsimilarly truncates its objective at available width. Review those alongside session/window/sidebar titles for consistent behavior, preserving layouts that are already correct.
Investigation was read-only and based on the supplied screenshot plus source tracing. New rendered/browser verification is required in the implementation worktree.
Expected behavior and acceptance criteria
- Define and apply a consistent, responsive summary-length policy for session/window titles, collapsed tool-call headings/previews, live tool rows, collapsed reasoning previews, Goal summaries, and the Working/loading activity line.
- Headings and status stay compact and scannable on both wide and narrow session windows. Prefer one-line ellipsis for these summary surfaces; select appropriate maximum readable widths/lengths using the existing design system instead of merely clipping at the far edge of a large monitor.
- Keep the activity verb, elapsed time, status indicators, action buttons, and composer reachable. Long payloads must not produce a tall loading block, overlap controls, or create horizontal page overflow.
- Separate canonical tool identity/action from descriptive titles where the existing event data supports it. Unknown tool names must still degrade gracefully and remain truthful. Do not guess shell identity from arbitrary free text or change stored events solely for cosmetic truncation.
- Preserve exact full text in supported detail/disclosure, copy, and search flows. Users must be able to inspect truncated content with keyboard and pointer; do not rely exclusively on hover-only tooltips or truncate persisted content.
- Handle multiline commands/heredocs, huge unbroken tokens/paths, long provider titles, Unicode, multiple concurrent tools, running/settled/error states, and resize/zoom without disrupting scroll anchoring.
- Preserve normal assistant message bodies and intentional expanded tool/reading content. This is not a global line clamp over the conversation or a redesign of unrelated UI.
- Extend canonical tests for presentation semantics, detail access, copy/search preservation, and actual browser layout behavior. Avoid tests that merely assert CSS class strings.
- Use existing stories/fixtures with realistic long Codex-style labels; validate the rendered session at narrow, ordinary, and wide window sizes plus zoom, keyboard access, and reduced motion. Capture before/after evidence with sanitized fixture content.
- Update affected QA scenarios and the cross-surface impact record; assess Web, shared UI, public/native contracts, and official skill impact. Run repository-root Turbo checks and make gate before delivery.
Delivery
Implement in a dedicated managed worktree with Codex gpt-6-astra / high. Open a PR targeting main with detailed explanation of the root causes, chosen truncation policy, affected surfaces, browser evidence, verification, and any limits. Preserve unrelated work and do not merge the PR.
Metadata
Metadata
Assignees
Labels
Type
Fields
Projects
- StatusShow more project fieldsDone
Activity