v2.134.2
Fix: Supervisor Pulse Reliability
Fixes the pulse system hanging, orphan process accumulation, and hardcoded worker limits.
Changes
- pulse-wrapper.sh: New wrapper with PID-file dedup, 10-min hard timeout, and process tree cleanup — solves opencode entering idle state after completing but never exiting
- Orphan cleanup: Automatically kills headless opencode processes older than 2h that completed but never exited (protects interactive sessions and language servers)
- Dynamic concurrency: Calculates MAX_WORKERS from available RAM instead of hardcoded 6 — formula:
(free_ram - 8GB reserve) / 1GB per worker, clamped to [1, 8] - Worker count fix: Filters to
.opencodebinaries only, fixing 2x inflation from node launcher + binary dual-process pattern - setup.sh auto-upgrade: Detects old plist configurations and upgrades to wrapper-based approach on next
setup.shrun - dispatched:{model} labeling: Workers self-label GitHub issues with which AI model solved them (e.g.,
dispatched:opus) - Language server protection: Excludes eslint/yaml language servers from orphan cleanup