When multiple tasks run concurrently, their stdout/stderr currently interleave into one stream — readable line-by-line but ambiguous about which task said what. Add per-task line prefixing so each line is attributable.
Scope: prefix + color only, not a multi-pane interactive TUI (deferred).
Acceptance criteria
- Each line of task output is prefixed with the task name (or a configurable short alias)
- Each task gets a stable color derived from its name (deterministic across runs)
- Prefix/color is suppressed when stdout is not a TTY (preserves machine-readable output for pipes / CI)
--no-prefix flag disables prefixing on demand
- Partial trailing lines from a task are flushed when that task exits
When multiple tasks run concurrently, their stdout/stderr currently interleave into one stream — readable line-by-line but ambiguous about which task said what. Add per-task line prefixing so each line is attributable.
Scope: prefix + color only, not a multi-pane interactive TUI (deferred).
Acceptance criteria
--no-prefixflag disables prefixing on demand