symfonic.core.learning.durability_gate¶
durability_gate ¶
The consolidation durability gate, now owned by the memory capability.
The predicate moved to :mod:symfonic.capabilities.memory.durability because
phase 10 is on the quick roster and the quick roster is composed by the
kernel-native capability; a gate that existed in two places would be two
gates, and the one that decided a row was transient would not be the one an
adopter read the counter from.
Imported rather than reimplemented, so the legacy consolidator and the capability runtime refuse exactly the same rows. This module is the name the shipped phases and their tests already import.
DurabilityGate ¶
Mutable per-run rejection counter for the consolidation gate.
Source code in 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 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.