Skip to content

v3.8.96 - AI DevOps Framework

Choose a tag to compare

@marcusquinn marcusquinn released this 23 Apr 20:47
· 9142 commits to main since this release
v3.8.96

Fixed

  • Pulse-wrapper Linux false-positive in is-running short-circuit (#20611): replaced the pgrep | grep is-running check (introduced in v3.8.95 via #20584/GH#20579) with a PID-file based check that uses the same LOCKDIR/pid primitive acquire_instance_lock writes, plus POSIX kill -0 for liveness. The previous implementation had a 100% Linux false-positive rate caused by bash $() subshell argv inheritance — pgrep matched its own transient subshell PIDs that grep -v "^$$\$" couldn't filter. macOS doesn't expose argv this way for transient subshells, which is why the bug was Linux-only and missed in original testing. Includes 8-test regression suite (3 structural pinning the fix shape + 5 behavioural including the canonical sibling-argv scenario).

Notes

If you saw repeated [pulse-wrapper] Pulse already running (PID: NNNN), skipping messages on Linux in v3.8.95 with no actual pulse running, this release fixes that. The pulse will now correctly distinguish "already running" from "phantom subshell argv" cross-platform.