0.57.0
Released 2026-11-04.
Upgrading
Section titled “Upgrading”- Reload every pi session after the update (
/reload). The first pi session that loads 0.57.0 restarts an older sb server. - The Herdr reaper plugin in this package is 0.4.1. A Herdr that runs an older copy keeps working; update the plugin to get its new hint.
Process hygiene
Section titled “Process hygiene”A worker that ends no longer leaves its processes running. On 2026-11-03 a worker’s tests left detached node processes that ran for hours with their working folder in a worktree.
- Owner marker. Every pi sets
STRAW_BOSS_OWNER, and the processes it starts inherit it. A worker (a pi withPI_SUBAGENT_ID) checks in with the sb server, beats every 30 s, and says bye when it quits. - Reaping. When a worker ends (bye, its pid gone, or its pane closed), the sb server finds what it left: processes in its snapshot, processes carrying its marker, and orphans whose working folder is in its linked worktree. It sends SIGTERM, then SIGKILL 10 s later, and logs one
procs-reapedline with counts. - Never touched. The Herdr server, pane shells and their foregrounds, sb servers, the intercom broker, every live worker and its tree, and other users’ processes. Each pid’s start time is checked again right before each signal. A folder where another live owner or pane works is skipped by the folder rule.
- Removal guard.
worktree_remove,git worktree removeandherdr worktree removeare refused while a process works in the checkout. The refusal lists pid, program, CPU, age and owner state (never a command line) and the command that stops them. An idle pane shell does not count. A check that cannot run refuses. procscommand.cli.mjs procslists what the sb server knows;procs reap --owner <id>andprocs reap --checkout <path>stop leftovers.--checkoutaccepts only a linked worktree or a removed folder that was a known worker’s root, and refuses/, a home folder, a main checkout and any parent of a checkout.- Reaper plugin 0.4.1. Its refusal now names
procs reap --checkout.
Known limits (macOS): the environment of Apple’s own programs (sh, bash, sleep, perl) cannot be read, so the marker does not find them; the snapshot and folder rules do. A double-forked process in a worktree another pane also works in survives the reap; procs reap --checkout stops it. See docs/specs/2026-11-04-procs.md.