Skip to content

symfonic.platform.dedup_audit

dedup_audit

Platform adapter: bulk procedural dedup audited through the one seam (CORE-178).

The memory capability declares :class:DedupAuditPort; this module satisfies it with :class:AuditSeam. Intent is recorded destructive=True, so a sink that fails refuses the pass before its first graph read. Terminal records degrade the seam without raising, because the pass already happened.

SeamDedupAudit

SeamDedupAudit(seam: AuditSeam)

:class:DedupAuditPort over an explicitly configured :class:AuditSeam.

Source code in src/symfonic/platform/dedup_audit.py
def __init__(self, seam: AuditSeam) -> None:
    self._seam = seam

from_sink classmethod

from_sink(sink: AuditSink | None) -> SeamDedupAudit

Refuse an absent or dropping sink: destruction needs a real trail.

Source code in src/symfonic/platform/dedup_audit.py
@classmethod
def from_sink(cls, sink: AuditSink | None) -> SeamDedupAudit:
    """Refuse an absent or dropping sink: destruction needs a real trail."""
    if (
        sink is None
        or isinstance(sink, NullAuditSink)
        or not callable(getattr(sink, "emit", None))
    ):
        raise DedupAuditUnavailable(
            "Bulk deduplication requires a configured audit sink"
        )
    return cls(AuditSeam(sink))