{"version":"2.1.232","anchor":"per-session-state-consolidated-into-roughly-two-dozen-typed-","canonical_anchor":"per-session-state-consolidated-into-roughly-two-dozen-typed-","heading":"Per-session state consolidated into roughly two dozen typed stores","tier":"internal","area":"Session State","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232\/e\/per-session-state-consolidated-into-roughly-two-dozen-typed-","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232","markdown":"### Per-session state consolidated into roughly two dozen typed stores\n\nCounters and latches now belong to a session rather than the whole process.\n\n**What**\n\nMutable state that lived in process-wide variables now hangs off a single per-session object, so counters and latches belong to a session rather than the process.\n\n**Details**\n\n- New domains alongside the existing ones include cost ledger, model selection, request journal, prompt assembly, session flags and scratch, surface capabilities, turn budget, user presence, hook registry, MCP session wiring, invoked skills, identity and conversation latches.\n- Accessors for total token and line counters, refusal-fallback model latches, prompt id and index, and approved MCP servers now read from these stores.\n- Sessions forked for a different project keep sharing the root's stores, so behaviour should be unchanged.\n\n**Evidence**\n\n`promptAssembly`\n\n- Area: Session State\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}