Skip to content

Run card frame width defects at wide terminals + dangling separator (T10 smoke findings) #108

Description

@rz1989s

Found by the T10 real-pi smoke (120-col terminal)

The run card renders and functions (appear → live state line → finalize, timer hygiene clean), but the self-shell frame has width defects at wide terminals:

  1. Top border: ╭─ ⣾ fleet · general-purpose╮ — the bar between the header and is missing at width 120 (liveCardLines computes bar = width − head − 3 but renders head≈25 at 80-hardcoded width; renderCall passes hardcoded 80 while the terminal is 120).
  2. A stray duplicate │ task … line fragment appears (frame mismatch between renderCall's static header card and renderResult's live lines during handoff).
  3. A dangling · separator renders when lastEventClass is empty (⣾ · ●assistant — the leading separator of the next segment isn't suppressed when a segment is null).
  4. subagent bare-name fallback line visible under the card in one frame — the renderCall fallback (tool name) renders alongside the card in some window (double render of call slot + fallback).

Fix direction

  • Thread real terminal width into liveCardLines (or clamp the card to a fixed comfortable width like 72 and center-left it — clamping is simpler and terminal-agnostic).
  • Suppress leading separators when the previous segment is null (join segments with a filter-then-join pattern).
  • Investigate the fallback+card double render (likely the fallback branch firing while args are streaming, before argsComplete).

Repro: any dispatch at ≥100 cols; visible in the T10 smoke transcript.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions