symfonic.capabilities.memory.durability¶
durability ¶
The consolidation durability gate: which rows a promotion phase refuses.
Shared predicate used by the promotion phases (10/11/12) to refuse surfacing transient/expired rows, plus a lightweight counter object that carries the per-run rejection tally back to the ConsolidationReport.
Contract G ("no silent drops"): every rejection increments the counter
AND emits a logger.info line carrying the rejecting phase + a stable
entry identifier, so adopters can audit why a row was not consolidated.
DurabilityGate ¶
Mutable per-run rejection counter for the consolidation gate.
Source code in src/symfonic/capabilities/memory/durability.py
is_gated ¶
Return True when entry must be skipped by a promotion phase.
Increments :attr:rejected and emits a logger.info audit line
on every rejection (Contract G).
Source code in src/symfonic/capabilities/memory/durability.py
entry_durability ¶
Read a durability marker from an episodic entry's metadata.
Episodic entries carry their properties under metadata (the
orchestrator commit path copies node.properties -> MemoryEntry
.metadata). Returns "durable" when no marker is present --
byte-identical to pre-v7.26.2 promotion behaviour.