Skip to content

symfonic.evals.consolidation_ledger

consolidation_ledger

Assertions over a consolidation cycle's phase ledger.

ConsolidationLedgerComplete dataclass

ConsolidationLedgerComplete(*required_phases: str, attribute: str = 'consolidation_ledger', status: str = 'clean', allow_skipped: bool = True, exact: bool = False)

Require a cycle ledger to account for every expected phase.

Source code in src/symfonic/evals/consolidation_ledger.py
def __init__(
    self,
    *required_phases: str,
    attribute: str = "consolidation_ledger",
    status: str = "clean",
    allow_skipped: bool = True,
    exact: bool = False,
) -> None:
    if not required_phases or any(not phase for phase in required_phases):
        raise ValueError("ConsolidationLedgerComplete requires phase names")
    if not attribute or not status:
        raise ValueError("ledger attribute and status cannot be empty")
    object.__setattr__(self, "required_phases", tuple(required_phases))
    object.__setattr__(self, "attribute", attribute)
    object.__setattr__(self, "status", status)
    object.__setattr__(self, "allow_skipped", allow_skipped)
    object.__setattr__(self, "exact", exact)
    object.__setattr__(self, "name", "consolidation_ledger_complete")