Skip to content

feat: improve non-interactive output for CI and agentic use - #8

Merged
boyvinall merged 2 commits into
mainfrom
non-interactive-output
Sep 27, 2026
Merged

boyvinall merged 2 commits into
mainfrom
non-interactive-output

Conversation

@boyvinall

@boyvinall boyvinall commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner
  • Renamed --no-tui to --non-interactive to reflect its primary purpose: running under CI or being driven by an agent, not just avoiding the TUI.
  • The status line no longer overwrites itself with a carriage return (made no sense once output is captured to a log or read by a script/agent); it now prints one line per tick to stderr on a configurable --status-interval, with change-suppression plus a periodic heartbeat so long runs don't flood the log.
  • Added -o/--output json for machine-readable JSON Lines output on stdout (status/log/summary events), so scripts and agents can consume progress and results without parsing human-oriented text.
  • Fixed a panic on --status-interval <= 0 and a stdout write race in JSON mode; avoided an unnecessary full Snapshot() call on each log line.

Rename --no-tui to --non-interactive to reflect its primary purpose:
running under CI or being driven by an agent, not just avoiding the TUI.

The status line no longer overwrites itself with a carriage return, which
made no sense once output is captured to a log or read by a script/agent;
it now prints one line per tick to stderr, on a configurable
--status-interval, with change-suppression plus a periodic heartbeat so
long runs do not flood the log with duplicate lines.

Add -o/--output json for machine-readable JSON Lines output on stdout
(status/log/summary events), so scripts and agents can consume progress
and results without parsing human-oriented text.
@boyvinall boyvinall changed the title Improve non-interactive output for CI and agentic use feat: improve non-interactive output for CI and agentic use Sep 27, 2026
golangci-lint's errcheck flagged the unchecked os.Stdout.Write call added
for JSON Lines output; discard the return explicitly rather than adding
error handling for a write that has nowhere useful to report a failure to.
@boyvinall
boyvinall force-pushed the non-interactive-output branch from 6293bf5 to b93520c Compare September 27, 2026 20:22
@boyvinall
boyvinall merged commit 20dddf4 into main Sep 27, 2026
1 check passed
@boyvinall
boyvinall deleted the non-interactive-output branch September 27, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant