control: terminal rendering foundations !547

merged merged by cmc on 2026-10-01 20:59 UTC · krz/gitbay:cli-term-1 into main

Discussion

cmc

Phase 1 of docs/specs/2026-10-01-cli-terminal-output-design.md.

  • Colour by meaning in tables and view titles: private red, signature states, references cyan, yellow only for what waits on the viewer; a state cell may carry several words (public, archived).
  • relAge reads the future (in 5h); session and credential expiry use it at a terminal.
  • cSize and Term.dur: humanized at a terminal, raw in plain (repo tree, release show, admin repo list, admin runners).
  • [archived] and primary join the state cell at a terminal; no trailing whitespace; a flex column blank on most rows is capped at a third of the width.
  • One heading style; empty dashboard sections skipped at a terminal.
  • error: prefix and wrapped usage at a terminal; did you mean for unknown flags everywhere.
  • ParseTerm ignores unknown options, ahead of #315.

Plain and --json unchanged except profile show's plural section labels and the unknown-flag message.

Closes #312