Skip to content

v1.0.3 — dispatch-death fix

Choose a tag to compare

@simonrowland simonrowland released this 04 Jun 23:18
· 100 commits to main since this release

Crash-safe dispatch fix. Bash-tail workers could die mid-verify and the decoupled watcher die with them, freezing status.json at running/worker_alive: true (false-alive).

This release: detaches workers into their own session (survives launcher/harness teardown, no zombies); the watcher flushes a terminal status on death (and the dispatcher repairs terminal state from the tail marker if the watcher dies first); never finalizes while the worker is still alive; idle-times-out a quiet post-COMPLETE worker to terminal while letting CPU-active verifies keep waiting; validates status identity (dispatch_id + worker_pid) so a reused dispatch id can't inherit a prior run's result; adds a macOS caffeinate power assertion scoped to the worker lifetime. goalflight_status.py is authoritative for liveness; raw status.json is a heartbeat/terminal surface.