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")
|