d5dfac4e

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

Total

1m46s

Time to Start Worker time Duration Time to finish Idle
Config 2s 7s 7s 9s 2s
Eval 7s 52s 52s 1m00s 0s
Build 55s 1m35s 53s 1m48s 0s
Suite 2s 2m35s 1m46s 1m48s 2s

Timeline

Config Eval Build
0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s