Skip to content

DL-183

Cross-process embedded-stack teardown: up persists each supervised child’s process-group ID plus a start-time identity token to an atomic stack.pgids record beside the lockfile; a fresh down refuses while an up holds the lock, then reads the record, verifies each group’s identity before signaling, SIGTERMs each exact persisted pgid in reverse start order with bounded SIGKILL escalation, and confirms teardown per component (server/postgres socket quiescence, runner group-ESRCH) — scoped to the three supervised stack children (postgres, compass-server, compass-runner); live agent containers escape the process group via conmon double-fork and are OUT of scope (RIG-1884). Refines DL-108 (which stays Active) and realizes the frozen record’s down-SIGTERMs-the-tree claim for the supervised children

Status: Active (Matt, 2026-08-05)

Record: ../../ui/compass-stack-cross-process-teardown/design.md#approach–option-a-persist-child-pgids-at-up-down-signals-the-persisted-groups