{"version":"2.1.228","anchor":"per-session-state-replaces-process-wide-globals","canonical_anchor":"per-session-state-replaces-process-wide-globals","heading":"Per-session state replaces process-wide globals","tier":"internal","area":"Session State","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228\/e\/per-session-state-replaces-process-wide-globals","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228","markdown":"### Per-session state replaces process-wide globals\n\nPer-session state is now inherited by forked sessions, so a child no longer overwrites its parent's.\n\n**What**\n\nState that used to live once per process now lives on the session and is inherited by forked sessions, so a child session no longer shares or overwrites its parent's. This covers observer pairings, the autonomous-loop preamble latch, compaction precompute, the worktree resume refusal, memory sync notices, command history, known Slack channels, and path and directory scan caches.\n\n**Details**\n\n- Forks read the parent's values through their root session rather than starting empty.\n- Post-compaction cleanup and the observer arm and retire helpers now take the session as an argument.\n\n**Evidence**\n\n`autonomousLoopPreamble`\n\n- Area: Session State\n- Tier: Under the hood\n- Useful: 3\/5\n- Signal: 3\/5"}