Description
Terminal Stylist (discussion #66520) found that pkg/console/console.go:318 (RenderTable-family code) always applies styles.RoundedBorder regardless of TTY state — only border color and row styling are gated by ttyCheck(). Live-verified: the Border(styles.RoundedBorder) call is unconditional; borderStyle (colors only) is the only TTY-gated piece. There is also no terminal-width budget, even though 35 CLI call sites depend on this renderer.
Consequence: piped/non-TTY output (log files, CI capture, | cat) still receives Unicode box-drawing characters and fixed padding, which is harder to grep/diff than plain text, and long tables are not truncated/wrapped for narrow terminals.
Expected Impact
Cleaner, more parseable non-interactive output; tables that adapt to terminal width instead of overflowing.
Suggested Fix
Select a borderless/ASCII table mode when !ttyCheck() (or an explicit --no-color/non-interactive flag), and compute a width budget from the destination terminal, truncating or wrapping lower-priority columns. Keep the current rounded borders and zebra striping for interactive TTYs.
Suggested Agent
An agent familiar with pkg/console/console.go's RenderTable path and the 35 call sites.
Estimated Effort
Medium (1-4 hours).
Data Source
Terminal Stylist discussion #66520 (2026-10-07), "Medium priority" finding #2. Live-verified via direct read of pkg/console/console.go:305-325.
Generated by 🔬 Deep Report · claude · agent · 329.6 AIC · ⌖ 16.8 AIC · ⊞ 7.1K · ◷
Description
Terminal Stylist (discussion #66520) found that
pkg/console/console.go:318(RenderTable-family code) always appliesstyles.RoundedBorderregardless of TTY state — only border color and row styling are gated byttyCheck(). Live-verified: theBorder(styles.RoundedBorder)call is unconditional;borderStyle(colors only) is the only TTY-gated piece. There is also no terminal-width budget, even though 35 CLI call sites depend on this renderer.Consequence: piped/non-TTY output (log files, CI capture,
| cat) still receives Unicode box-drawing characters and fixed padding, which is harder to grep/diff than plain text, and long tables are not truncated/wrapped for narrow terminals.Expected Impact
Cleaner, more parseable non-interactive output; tables that adapt to terminal width instead of overflowing.
Suggested Fix
Select a borderless/ASCII table mode when
!ttyCheck()(or an explicit--no-color/non-interactive flag), and compute a width budget from the destination terminal, truncating or wrapping lower-priority columns. Keep the current rounded borders and zebra striping for interactive TTYs.Suggested Agent
An agent familiar with
pkg/console/console.go'sRenderTablepath and the 35 call sites.Estimated Effort
Medium (1-4 hours).
Data Source
Terminal Stylist discussion #66520 (2026-10-07), "Medium priority" finding #2. Live-verified via direct read of
pkg/console/console.go:305-325.