Skip to content

[AUTOMATED] docs(re-pipeline): SIGTERM to a supervisor ends the round - #432

Merged
mahaloz merged 1 commit into
mainfrom
docs/sigterm-drains-everything
Sep 6, 2026
Merged

[AUTOMATED] docs(re-pipeline): SIGTERM to a supervisor ends the round#432
mahaloz merged 1 commit into
mainfrom
docs/sigterm-drains-everything

Conversation

@mahaloz

@mahaloz mahaloz commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

run.sh traps SIGTERM into a graceful stop, which writes the SHARED .kuna-repipe/STOP
file -- so killing one supervisor drains every supervisor and puts the round into
DRAINING, which is one-way (DRAINING -> RUNNING is not a legal edge). Removing the
file does not undo it. Use kill -9 to remove a duplicate without ending the round.

Records the upstream mistake too, since it is the cheap one to catch: a supervisor
launched hours earlier had been declared failed because tail could not read its log
-- wrong path, live process -- so two ran for five hours. They do not corrupt anything
(the captain slot lease serialises them) but they double the tick rate and each counts
budget independently. Includes the check, with the wrapper filtered out: a naive
pgrep -cf matches the operator's own shell and hides a real duplicate in the noise.

Cost when this happened: one round boundary. Round 3's testers, gate, refutation,
triage and 16 needs were already complete, so its open needs simply carry into round 4.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

🤖 Generated with Claude Code

https://claude.ai/code/session_01YcFmfZndNjgfqLQVBZCdkY

run.sh traps SIGTERM into a graceful stop, which writes the SHARED .kuna-repipe/STOP
file -- so killing one supervisor drains every supervisor and puts the round into
DRAINING, which is one-way (DRAINING -> RUNNING is not a legal edge). Removing the
file does not undo it. Use kill -9 to remove a duplicate without ending the round.

Records the upstream mistake too, since it is the cheap one to catch: a supervisor
launched hours earlier had been declared failed because `tail` could not read its log
-- wrong path, live process -- so two ran for five hours. They do not corrupt anything
(the captain slot lease serialises them) but they double the tick rate and each counts
budget independently. Includes the check, with the wrapper filtered out: a naive
`pgrep -cf` matches the operator's own shell and hides a real duplicate in the noise.

Cost when this happened: one round boundary. Round 3's testers, gate, refutation,
triage and 16 needs were already complete, so its open needs simply carry into round 4.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mahaloz
mahaloz merged commit eba82e6 into main Sep 6, 2026
9 checks passed
@mahaloz
mahaloz deleted the docs/sigterm-drains-everything branch September 6, 2026 00:39
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