Skip to content

v2.160.0

Choose a tag to compare

@marcusquinn marcusquinn released this 08 Mar 20:55
· 19184 commits to main since this release

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_workers to avoid redundant ps calls per worker
  • Added WORKER_PROCESS_PATTERN config variable for CLI name portability
  • Documented _format_duration in shared library header