basquetWi + New ticket
agent-ops OPS-137

Daily orphan-process/scratch sweeper: scan, resolve owner, DM-to-self-clean

Todo high nvnw-venus-cc

Elazar GO 2026-08-23, via coder-llmmsgsrv-cc, triggered by two orphan incidents same day (venus /tmp 83% from an unpruned tmpfs; separately pm-llmmsgsrv-cc found 3 more coder-llmmsgsrv-cc orphan hubs running Aug16/19-Aug23, 3-6 days). Daily script: (1) scan /tmp, every agent scratchpad, /tmp/claude* for files/dirs; (2) resolve OWNER per item (pid cwd + LLMMSG_DB env resolves live procs; /tmp/claude-1000/<project-key>/<session-uuid>/ maps dirs to sessions; bare orphans with dead parents are the unsolved case); (3) DM the resolved owner over llmmsg-srv asking them to kill+clean their own; (4) NOT limited to /tmp — each ccs should self-audit and kill/clean any subprocess or artifact it spawned anywhere. Design principle (Elazar): per-agent self-discipline demonstrably fails (9 orphans across 2 incidents, self-noticed 0), so ask-the-owner not blanket-sweep or self-kill. SCOPE RULING (Elazar 2026-08-23, nqla 1c/2a/3b): (1) executor = systemd timer owned by nw-venus-cc, same pattern as jobreg — not root cron, not per-agent hook. (2) unresolvable bare orphan (dead parent, no owner mapping): one cheap triage attempt, NO DM storm and NO high token usage — a single lightweight DM if an owner is found; if triage fails, KILL the process directly, do not just flag-and-wait. (3) venus-first — do not build fleet-wide (whey/lezama) until proven here. FIXTURES (coder-llmmsgsrv-cc, both his own, both peer/human-spotted not self-noticed): (a) 2026-08-23 05:19 — msg299/base.mjs test-hub scratchpad, 659M/6 live node procs, alive ~25h no listeners, killed by PID never pattern (prod hub same user), fixed to 22M; (b) 2026-08-22 — pm-llmmsgsrv-cc found 3 more orphan hubs on ports 19731/19733/19735, running since Aug16/19, 3-6d old. nw-venus-cc owns the WI, build delegated to bin-venus-cc (executor lane, per token-usage-collect.sh precedent). BUILT + DEPLOYED 2026-08-23: orphan-sweeper.sh v1.0 (bin-venus-cc, sh.git 8a575a3), venus-only host pin, --print/--dry-run/--send flags. Scheduled by nw-venus-cc: scrp-orphan-sweeper-venus.{service,timer}, daily 04:10 UTC, EnvironmentFile=~/.local/bin/.llmmsg-env (bearer for DM leg), enabled+test-run clean (exit 0, correctly below-DM-floor-skips agents with <1024K scratch and no orphan proc). Live pre-deploy measurement: 3 real orphans found, all coder-llmmsgsrv-cc, 1 DM sent, 0 forced kills needed, 4s runtime. Must-kill fixture + must-survive control both verified by builder. Row pending in maintainer-agents.sqlite for the new unit.

Activity

  • wi-cli-venus created · 7w ago
  • wi-cli-venus descriptionChanged · 7w ago
    was: Elazar GO 2026-08-23, via coder-llmmsgsrv-cc, triggered by two orphan incidents same day (venus /tmp 83% from an unpruned tmpfs; separately pm-llmmsgsrv-cc found 3 more coder-llmmsgsrv-cc orphan hubs running Aug16/19-Aug23, 3-6 days). Daily script: (1) scan /tmp, every agent scratchpad, /tmp/claude* for files/dirs; (2) resolve OWNER per item (pid cwd + LLMMSG_DB env resolves live procs; /tmp/claude-1000/<project-key>/<session-uuid>/ maps dirs to sessions; bare orphans with dead parents are the unsolved case, flag not force); (3) DM the resolved owner over llmmsg-srv asking them to kill+clean their own; (4) NOT limited to /tmp — each ccs should self-audit and kill/clean any subprocess or artifact it spawned anywhere. Design principle (Elazar): per-agent self-discipline demonstrably fails (9 orphans across 2 incidents, self-noticed 0), so ask-the-owner not blanket-sweep or self-kill. nw-venus-cc owns the WI; scope/cadence/executor questions go to Elazar directly, not coder-llmmsgsrv-cc.
  • wi-cli-venus descriptionChanged · 7w ago
    was: Elazar GO 2026-08-23, via coder-llmmsgsrv-cc, triggered by two orphan incidents same day (venus /tmp 83% from an unpruned tmpfs; separately pm-llmmsgsrv-cc found 3 more coder-llmmsgsrv-cc orphan hubs running Aug16/19-Aug23, 3-6 days). Daily script: (1) scan /tmp, every agent scratchpad, /tmp/claude* for files/dirs; (2) resolve OWNER per item (pid cwd + LLMMSG_DB env resolves live procs; /tmp/claude-1000/<project-key>/<session-uuid>/ maps dirs to sessions; bare orphans with dead parents are the unsolved case, flag not force); (3) DM the resolved owner over llmmsg-srv asking them to kill+clean their own; (4) NOT limited to /tmp — each ccs should self-audit and kill/clean any subprocess or artifact it spawned anywhere. Design principle (Elazar): per-agent self-discipline demonstrably fails (9 orphans across 2 incidents, self-noticed 0), so ask-the-owner not blanket-sweep or self-kill. FIXTURES (coder-llmmsgsrv-cc, both his own, both peer/human-spotted not self-noticed): (a) 2026-08-23 05:19 — msg299/base.mjs test-hub scratchpad, 659M/6 live node procs, alive ~25h no listeners, killed by PID never pattern (prod hub same user), fixed to 22M; (b) 2026-08-22 — pm-llmmsgsrv-cc found 3 more orphan hubs on ports 19731/19733/19735, running since Aug16/19, 3-6d old. His own harness fix (hublab.sh trap-kills on EXIT/INT/TERM) covers one harness only. nw-venus-cc owns the WI; scope/cadence/executor questions go to Elazar directly, asked twice already, unanswered.
  • wi-cli-venus statusChanged · 7w ago
  • wi-cli-venus descriptionChanged · 7w ago
    was: Elazar GO 2026-08-23, via coder-llmmsgsrv-cc, triggered by two orphan incidents same day (venus /tmp 83% from an unpruned tmpfs; separately pm-llmmsgsrv-cc found 3 more coder-llmmsgsrv-cc orphan hubs running Aug16/19-Aug23, 3-6 days). Daily script: (1) scan /tmp, every agent scratchpad, /tmp/claude* for files/dirs; (2) resolve OWNER per item (pid cwd + LLMMSG_DB env resolves live procs; /tmp/claude-1000/<project-key>/<session-uuid>/ maps dirs to sessions; bare orphans with dead parents are the unsolved case); (3) DM the resolved owner over llmmsg-srv asking them to kill+clean their own; (4) NOT limited to /tmp — each ccs should self-audit and kill/clean any subprocess or artifact it spawned anywhere. Design principle (Elazar): per-agent self-discipline demonstrably fails (9 orphans across 2 incidents, self-noticed 0), so ask-the-owner not blanket-sweep or self-kill. SCOPE RULING (Elazar 2026-08-23, nqla 1c/2a/3b): (1) executor = systemd timer owned by nw-venus-cc, same pattern as jobreg — not root cron, not per-agent hook. (2) unresolvable bare orphan (dead parent, no owner mapping): one cheap triage attempt, NO DM storm and NO high token usage — a single lightweight DM if an owner is found; if triage fails, KILL the process directly, do not just flag-and-wait. (3) venus-first — do not build fleet-wide (whey/lezama) until proven here. FIXTURES (coder-llmmsgsrv-cc, both his own, both peer/human-spotted not self-noticed): (a) 2026-08-23 05:19 — msg299/base.mjs test-hub scratchpad, 659M/6 live node procs, alive ~25h no listeners, killed by PID never pattern (prod hub same user), fixed to 22M; (b) 2026-08-22 — pm-llmmsgsrv-cc found 3 more orphan hubs on ports 19731/19733/19735, running since Aug16/19, 3-6d old. nw-venus-cc owns the WI, build delegated to bin-venus-cc (executor lane, per token-usage-collect.sh precedent).
epic
7w ago by wi-cli-venus
7w ago