Skip to content

fix: make 'run' output honest on non-TTY and under --keep-going#48

Merged
ShixiangWang merged 1 commit into
Traitome:mainfrom
andrewbudge:fix/run-output-visibility
Jun 24, 2026
Merged

fix: make 'run' output honest on non-TTY and under --keep-going#48
ShixiangWang merged 1 commit into
Traitome:mainfrom
andrewbudge:fix/run-output-visibility

Conversation

@andrewbudge

Copy link
Copy Markdown
Collaborator

Two related visibility fixes for oxo-flow run:

Non-TTY runs no longer go silent. Per-rule status was reported only through the indicatif progress bar, which auto-hides when stderr isn't a terminal — so pipes, redirects, nohup, CI, and schedulers showed nothing between the DAG listing and the final summary.

  • Detect non-terminal stderr and fall back to plain log lines: Running: [i/n] <rule>, ✓ <rule> (Xs), and skip lines
  • Interactive runs are untouched — the progress bar still owns the live display

--keep-going no longer hides failures. It swallowed executor errors outright and printed only a failure count.

  • Collect failures and print a consolidated Failed rules: summary (rule name + concise reason) at the end
  • Surface the previously-silent executor-error path

Tests: adds an integration test for the non-TTY fallback; tightens the keep-going test to assert the summary names the failed rule. make ci passes locally.

Two related visibility fixes for `oxo-flow run`:

- Non-TTY runs went silent because per-rule status was reported only
  through the indicatif progress bar, which auto-hides when stderr is
  not a terminal. Add a plain-text fallback (Running/✓/skip lines) so
  pipes, redirects, nohup, CI, and schedulers stay informative. The
  interactive progress bar is unchanged.
- --keep-going swallowed executor errors and printed only a failure
  count. Collect failures and print a consolidated "Failed rules:"
  summary, and surface the previously-silent error path.

Add an integration test for the non-TTY fallback and tighten the
keep-going test to assert the new summary names the failed rule.
@ShixiangWang
ShixiangWang merged commit 999289a into Traitome:main Jun 24, 2026
7 checks passed
@ShixiangWang

Copy link
Copy Markdown
Member

Thanks for so quick response and PR:)

@andrewbudge

Copy link
Copy Markdown
Collaborator Author

Of course! I will be working the silent failure memory bug next (should also be a relatively quick fix). Then I can focus on finishing the port of the phage pipline and continue testing. I have some thoughts on how to manage and bundle workflows with external scripts and environments, but I will write that up more formally later and share that.

@andrewbudge
andrewbudge deleted the fix/run-output-visibility branch June 26, 2026 17:16
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.

2 participants