{"version":"2.1.238","anchor":"debug-log-path-and-live-shell-state-moved-into-holder-object","canonical_anchor":"debug-log-path-and-live-shell-state-moved-into-holder-object","heading":"Debug log path and live shell state moved into holder objects","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238\/e\/debug-log-path-and-live-shell-state-moved-into-holder-object","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238","markdown":"### Debug log path and live shell state moved into holder objects\n\nKilling a background shell no longer deletes its socket while the process is still alive.\n\n**What**\n\nThe debug transcript log path is now looked up per call from an object holding the path, its initialisation promise and its filename stem, rather than captured once at module load. Running shell commands moved behind a state accessor that also tracks outstanding kill backstops, with a helper that waits for all of them. Killing a background shell no longer removes its socket file while the process is still alive; the removal waits for the process exit event.\n\n**Evidence**\n\n`pendingKillBackstops`\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}