74e73debaf
smokeTestDaemonBroker mkdtemp'd its runtime dir directly under os.tmpdir(), and the broker's startup sweep pruneDeadDaemonRuntimeDirs reclaims path.dirname(runtimeDir). On a default session that is /tmp, so --smoke-test recursively deleted every aged sibling with no live broker/clients (tmux/ssh sockets, editor state, build trees) while still exiting 0. - client.ts: keep the smoke broker's project and runtime dirs under a single private mkdtemp parent the process owns. - presence.ts: refuse any prune root that is not the daemons container and only prune entries named like a 16-hex daemon scope key, so a relocated runtime dir can never rm -rf unrelated neighbours. Fixes #8721