Skip to content

fix(follow): announce each bench outcome once across restarts - #57

Open
ancelin-code wants to merge 2 commits into
developfrom
fix/follow-no-replay
Open

ancelin-code wants to merge 2 commits into
developfrom
fix/follow-no-replay

Conversation

@ancelin-code

Copy link
Copy Markdown
Owner

What and why

Re-arming follow.sh after its watcher expired printed every PUBLISHED again, plus the old BENCH-FAILED skill-001, although that failure had been fixed by hand and PR #39 was open (feedback item 6). A watcher reads those lines as new pull requests to review and new failures.

The loop already kept <log-dir>/announced so that --exit-on-human would not stop twice on one bench, but it wrote the file only in that mode. Now every run records each outcome there and announces nothing it already holds.

How to review

All of it is in the outcome block of etabli-orchestrator/scripts/follow.sh:

  • Entries are keyed <id><TAB><last log line>. An ERROR line carries no task id, so two benches with the same error would otherwise mask each other.
  • The file is written as each outcome is announced, not at exit 4, so the special case at exit goes away.
  • published is still set for a silent outcome, so the task keeps its place in WAITING review=.

Not done: the alternative the feedback suggested, comparing a log's time with the loop's start. It would drop the outcome of a bench that finished while no loop was running.

How to try it

Run follow.sh --max-polls 1 twice over the same logs: the second run prints nothing. Overwrite a log with a new outcome, as a relaunch does, and the next run announces it. The tests in TestBenchOutcomes do both.

Does it earn its place?

This reuses a rule that already existed, in every mode instead of one. The keyed format makes the first run after upgrading announce once more what --exit-on-human had already announced; this is recorded in CHANGELOG.md.

🤖 Generated with Claude Code

Re-arming the loop printed every PUBLISHED again, and old BENCH-FAILED
lines whose failure had long been handled by hand. The announced file kept
beside the logs was only written with --exit-on-human; every run now
records each outcome there, keyed by task, and skips what is already in it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the ai-assisted AI agents worked on this change label Nov 10, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-assisted AI agents worked on this change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant