Session-id-keyed factory: the same in-memory store is returned for a given
session across opens (so a worker rebuild sees the session’s state), and a
fresh store is created on first use. Inline durability tier.
The runtime’s view of a session: the persistable snapshot fields
plus scratch fields the runtime tracks but never persists
(head-revision CAS guard, pending dirty-write buffers, replace-graph
flag). Public serialization goes through RuntimeSessionState::to_snapshot,
which drops runtime-only fields by construction.
One blob enumerated by AttachmentStore::list. Feeds mark-and-sweep GC:
the sweeper pairs each blob’s id against the live root set and uses
last_modified_epoch_ms to apply the write grace period. Backends that
cannot report a modification time leave it None, and the sweep treats
such blobs as always past the grace window.
Result of a StoreMaintenance::vacuum() call.
removed_node_count counts the tombstoned graph-node rows that were
physically deleted from the store. removed_pending_turn_input_tombstone_count
counts terminal pending-input evidence rows pruned by host-scheduled
retention. Returned so hosts can emit metrics.
A source of the live attachment root set: every attachment ref (intent or
committed) across ALL sessions a store factory owns. Intents count as refs,
so an in-flight write is never mistaken for garbage.