symfonic.capabilities.memory.mongo_native_forget¶
mongo_native_forget ¶
Public native Mongo v1 forget: one journal-bound FORGET per call (CORE-171).
The native Mongo HMS stays read-only for every other mutation. A forget here claims its own invocation in the operation journal, prepares a FORGET of the scope and every descendant, and runs the prepared erasure in one guarded transaction of the tenant: nodes, edges and both vector owner copies, the receipt and the erase record commit together or not at all.
A refusal before that transaction mutates nothing. Any failure inside it,
or of its commit, raises MemoryOperationOutcomeUnknown: the transaction
may have committed. The journal's outcome of the exception's operation
is COMMITTED only once it did; UNKNOWN never proves it did not.
Nothing replays that operation. A new forget
of the scope is a new operation with its own invocation; after a committed
forget it erases whatever was written since and otherwise answers an empty
receipt.
forget_native_mongo
async
¶
Erase scope and its descendants from the exact native Mongo pair.
Source code in src/symfonic/capabilities/memory/mongo_native_forget.py
native_mongo_store ¶
Whether store is the read-only native Mongo HMS this module serves.