By: ananjiani <ananjiani@noreply.codeberg.org>
feat(pi): pin pi-processes and background supervisor waits (#302) ## Summary - Pin `npm:@aliou/pi-processes@0.12.0` in repo-managed Pi packages. - Run Herdr lifecycle waits in the background with the `process` tool so the supervisor can end its turn and wake on process notify. - Wait identity is pane ID (`wait-w15-p2`). Stop/clear use opaque `proc_*` ids. - Submit worker prompts without `--wait`. If the `process` tool is missing, report that and stop; do not fall back to long foreground waits. - One background `sleep 120` for required CI, then exactly one check and a pending handoff. No repeat loop. - Wake events are evidence only, not approval or proof of PR success. ## Checks - `nix-instantiate --parse` and `nixfmt --check` on `pi-coding-agent.nix` - Targeted pre-commit on the two changed files - Isolated Pi load of `@aliou/pi-processes@0.12.0` via `pi -e` (not live `pi install`) - Local process tests: tool return before exit, automatic success wake, mid-wait `PONG`, Herdr wait success/failure/timeout - `/reload` cleanup: pid 152520 alive 16:57:57, gone 16:58:03, `RUNNING_COUNT=0`; live settings hash unchanged - Independent GLM review was conditional; main rechecked the four skill fixes - Real Telegram test on scratch follower `sup02-telegram-test` (w15:p5, main-owned): TEST started `sleep 45`, PING→PONG before completion, automatic DONE after 45s. Operator confirmed on Aster. No live install or home activation. This PR does not merge or deploy. ## Scope / limits - `session_shutdown` (including `/reload`) kills managed waits; the skill rearms after rescan. - Telegram uses normal turn-taking, not strict priority. - Unnamed Workers wait by pane ID, not display title. Co-authored-by: Ammar Nanjiani <ammar.nanjiani@gmail.com> Reviewed-on: https://codeberg.org/ananjiani/infra/pulls/302