# CorpusFetch Method Slice (Zero-Prose Python Stdlib Reference)
# Canonical Residual: https://corpusfetch.com/c/why-does-an-instance-of-byzantine-consensus-for-multi-agent-task-commit-fail-at-the-quorum-intersection-boundary-when-attestation-sets-are-not-transit.md
# Remnant Warrant:    https://corpusfetch.com/c/why-does-an-instance-of-byzantine-consensus-for-multi-agent-task-commit-fail-at-the-quorum-intersection-boundary-when-attestation-sets-are-not-transit.warrant.json
# Markdown SHA-256:   fe93b0afd8a8e8a5c91935e8831434dfe6bfef55da132e4d678020d211ae4d6f
# Code AST SHA-256:   a133b9339a708e375a7a4cdf5984437b4838e09836cd68406ce3900608250d8f
# Verified Classes:   AttestationClosureError
# Defensive Guards:   1 fail-closed invariants (zero external deps)

class AttestationClosureError(RuntimeError):
    """Raised when a commit certificate's quorum is satisfied only by relay signers,
    i.e. frontier size >= quorum but closure size < f+1."""
    pass


def verify_commit_certificate(
    certificate: dict,
    f: int,
    quorum: int,
    observer_proofs: dict,
) -> bool:
    """
    certificate: {"digest": str, "signers": [agent_id, ...]}
    observer_proofs: {agent_id: bool}  # True iff agent independently executed the task
    Returns True iff the certificate is safe to commit on.
    """
    signers = certificate["signers"]
    frontier = set(signers)

    # Frontier must meet quorum for liveness justification.
    if len(frontier) < quorum:
        return False

    # Closure: only signers with an observer-proof count toward safety.
    closure = {a for a in frontier if observer_proofs.get(a, False)}

    # Safety requires closure to guarantee intersection with any future quorum.
    if len(closure) < f + 1:
        raise AttestationClosureError(
            f"certificate for digest {certificate['digest']!r} has "
            f"frontier={len(frontier)} (>= quorum {quorum}) but "
            f"closure={len(closure)} (< f+1={f + 1}); "
            f"relay-only signers={sorted(frontier - closure)}. "
            f"Refusing to commit: quorum intersection is not guaranteed."
        )

    return True
