- render.rs: clamp flex column width to min(min_flex, natural) instead
of a hardcoded 20, preventing layout overflow when natural width is
small; rewrites flex_width test to be terminal-independent
- list/issues.rs: adopt .flex_col() builder on table construction
- list/mrs.rs, list/notes.rs: consolidate multi-line StyledCell::styled
calls to single-line format
- explain.rs: adopt flex_width() for related-issue title truncation,
consolidate multi-line formatting
Replace hardcoded truncation widths across CLI commands with
render::flex_width() calls that adapt to terminal size. Remove
server-side truncate_to_chars() in timeline collect/seed stages so
full text is preserved through the pipeline — truncation now happens
only at the presentation layer where terminal width is known.
Affected commands: explain, file-history, list (issues/mrs/notes),
me, timeline, who (active/expert/workload).