Skip to content

feat(main): periodic \r progress for simulation when stderr is a TTY#361

Merged
jp-fizzbee merged 1 commit into
mainfrom
user/jp/feat-simulation-progress
May 20, 2026
Merged

feat(main): periodic \r progress for simulation when stderr is a TTY#361
jp-fizzbee merged 1 commit into
mainfrom
user/jp/feat-simulation-progress

Conversation

@jp-fizzbee
Copy link
Copy Markdown
Collaborator

Prints "Simulated N / Max runs" (or "Simulated N runs" when unlimited) to stderr every 100 runs, overwriting the same line via \r and clearing trailing chars via \033[K. Helps users see that long simulation runs are making progress.

Silent unless stderr is a TTY, which:

  • Keeps log files / pipes / test_references.py output clean.
  • Keeps parallel worker logs clean (each worker's stderr is a regular file when redirected by the fizz wrapper, not a TTY).
  • Works correctly under interactive SSH (PTY allocated -> TTY) and tmux/screen; silent under scripted ssh without -t and under ... 2>&1 | tee log (stderr becomes a pipe).

A small clearProgressLine helper emits a trailing \n to stderr before the post-loop "Stopped after N runs" line and before in-loop failure prints, so the next output starts on a fresh line instead of being appended to the progress line.

Prints "Simulated N / Max runs" (or "Simulated N runs" when unlimited)
to stderr every 100 runs, overwriting the same line via \r and clearing
trailing chars via \033[K. Helps users see that long simulation runs
are making progress.

Silent unless stderr is a TTY, which:

- Keeps log files / pipes / test_references.py output clean.
- Keeps parallel worker logs clean (each worker's stderr is a regular
  file when redirected by the fizz wrapper, not a TTY).
- Works correctly under interactive SSH (PTY allocated -> TTY) and
  tmux/screen; silent under scripted ssh without -t and under
  `... 2>&1 | tee log` (stderr becomes a pipe).

A small clearProgressLine helper emits a trailing \n to stderr before
the post-loop "Stopped after N runs" line and before in-loop failure
prints, so the next output starts on a fresh line instead of being
appended to the progress line.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jp-fizzbee jp-fizzbee merged commit c8b74c1 into main May 20, 2026
1 check passed
@jp-fizzbee jp-fizzbee deleted the user/jp/feat-simulation-progress branch May 20, 2026 22:37
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