Skip to content
This repository was archived by the owner on Oct 1, 2026. It is now read-only.

fix: fail supervisor runs when a worker dies - #20

Merged
joshrotenberg merged 1 commit into
mainfrom
fix/supervisor-worker-death
Oct 1, 2026
Merged

joshrotenberg merged 1 commit into
mainfrom
fix/supervisor-worker-death

Conversation

@joshrotenberg

Copy link
Copy Markdown
Contributor

A worker that exits during Supervisor fan-out previously left its token pending forever. The strategy now fails the active run and every queued request with {:worker_down, worker, reason}, stops surviving workers, and accepts fresh submissions afterward. Late sibling results cannot replace those terminal errors.

The workflow guide documents the failure behavior and corrects the synthesizer ordering description. Controlled-backend tests cover three queued tokens, a late sibling result, a sibling that finished before the death, and a successful fresh run.

Validation: mix format --check-formatted, mix compile --warnings-as-errors, mix credo --strict, mix test (92 passed), mix dialyzer, mix docs --warnings-as-errors, and git diff --check.

Closes #16.

@joshrotenberg
joshrotenberg merged commit 71171ae into main Oct 1, 2026
2 checks passed
@joshrotenberg
joshrotenberg deleted the fix/supervisor-worker-death branch October 1, 2026 01:51
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Supervisor worker process death leaves the token permanently pending

1 participant