v2.160.0
What's New
Standalone Worker Watchdog (t1419)
New worker-watchdog.sh monitors headless AI workers dispatched outside the pulse supervisor. Detects three failure modes:
- CPU idle: Worker completed but sits in file-watcher (OpenCode idle-state bug)
- Progress stall: Worker running but producing no output (stuck on API, rate-limited)
- Runtime ceiling: Hard kill after configurable maximum runtime
On kill: posts GitHub issue comment, relabels for re-dispatch, logs the action.
Shared Worker Lifecycle Library
Extracted common process management functions from pulse-wrapper.sh into worker-lifecycle-common.sh — eliminates duplication between pulse supervisor and standalone watchdog.
Review Improvements
- Optimized
find_workersto avoid redundantpscalls per worker - Added
WORKER_PROCESS_PATTERNconfig variable for CLI name portability - Documented
_format_durationin shared library header