Split out from #328.
Found during 0.4.0 RC local-command testing.
Problem
chctl local postgres start on a cold image emits a long stream of context-free lines (Pulling fs layer, Waiting, Downloading, Extracting, ... ×140) with no layer IDs or percentages. This is noisy for both coding agents and CI logs.
Expected behavior
When stdout is not attached to a TTY, collapse Docker pull progress to concise per-layer or per-phase summary lines, for example:
Pulling postgres:18... done (14 layers)
Interactive TTY output can retain richer progress.
Split out from #328.
Found during 0.4.0 RC local-command testing.
Problem
chctl local postgres starton a cold image emits a long stream of context-free lines (Pulling fs layer,Waiting,Downloading,Extracting, ... ×140) with no layer IDs or percentages. This is noisy for both coding agents and CI logs.Expected behavior
When stdout is not attached to a TTY, collapse Docker pull progress to concise per-layer or per-phase summary lines, for example:
Interactive TTY output can retain richer progress.