Source code for ralph.policy.models._phase_commit_policy

"""PhaseCommitPolicy Pydantic model."""

from __future__ import annotations

from pydantic import Field

from ralph.policy.models._frozen_policy_model import _FrozenPolicyModel


[docs] class PhaseCommitPolicy(_FrozenPolicyModel): """Commit semantics for commit-role phases.""" requires_artifact: bool = True skipped_advances_progress: bool = True increments_counter: str | None = Field( default=None, description=( "Budget counter key (declared in pipeline.budget_counters) to bump on " "non-skipped commit. None means no counter is incremented." ), ) route_counter: str | None = Field( default=None, description=( "Budget counter key used for post-commit routing. Defaults to " "increments_counter when omitted." ), ) loop_resets: list[str] = Field(default_factory=list)