Skip to content

Lab runs: end every step with a result line, so quiet commands visibly finish - #4

Merged
thinkinginmath merged 1 commit into
mainfrom
feat/step-completion-lines
Sep 19, 2026
Merged

thinkinginmath merged 1 commit into
mainfrom
feat/step-completion-lines

Conversation

@thinkinginmath

Copy link
Copy Markdown
Collaborator

Suggestion from the first real use of the scimigo.com lab panel. After $ python -m pip install --quiet …, there was no way to tell whether pip was still running or had finished, because a quiet command prints nothing either way.

Every step now ends with a line of its own, on a new line even if the command's output didn't end with one:

$ docker compose -p restate-durable-agent-demo up -d
 Container restate-durable-agent-demo-restate-1 Running
[done · 0.4 s]
$ python -m pip install --quiet --disable-pip-version-check -r requirements.txt
[done · 3.2 s]

The possible endings are [done · N s], [exit C · N s], [stopped · N s] and [timed out · N s]. The watchdog's separate [runtime] timed out line is gone, since the step's line now says it. Empty appends are ignored; the decoder's final flush added one, which hid whether the output ended a line.

Tests cover a result line for success, a failing step, stop and timeout, and a result line after output without a trailing newline. 172 passed; ruff, format and mypy clean.

🤖 Generated with Claude Code

…y finish

Suggestion from the first real use of the scimigo.com lab panel. After
"$ python -m pip install --quiet ..." there was no way to tell whether pip was still running or
had finished; a quiet command prints nothing either way.

Every step now ends with a line of its own:
  [done · 2.1 s]  [exit 3 · 0.4 s]  [stopped · 5.0 s]  [timed out · 1.0 s]

It starts a new line even after output without a trailing newline (Run.append_line). The
watchdog's separate "[runtime] timed out" line is gone, since the step's line now says it.
Empty appends are ignored: the decoder's final flush added one, which hid whether the output
ended a line.

Tests: result lines for success, a failing step, stop and timeout, and a result line after
output without a newline. 172 passed; ruff, format and mypy clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@thinkinginmath
thinkinginmath merged commit fd5f8fd into main Sep 19, 2026
5 checks passed
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