Source code for ralph.policy.models._lifecycle_phase_policy

"""Compiled lifecycle-completion metadata for block-authored policies."""

from __future__ import annotations

from pydantic import Field

from ralph.policy.models._frozen_policy_model import _FrozenPolicyModel


[docs] class LifecyclePhasePolicy(_FrozenPolicyModel): """Lifecycle-owned accounting metadata keyed by compiled completion phase.""" lifecycle_name: str = Field(..., description="Authored group-block name") completion_block: str = Field( ..., description="Authored individual block that completes lifecycle", ) increments_counter: str | None = Field( default=None, description="Budget counter incremented when this lifecycle completes.", ) loop_resets: list[str] = Field( default_factory=list, description="Loop counters reset at lifecycle completion.", ) before_complete: list[str] = Field( default_factory=list, description="Authored blocks treated as pre-completion hooks.", ) after_complete: list[str] = Field( default_factory=list, description="Authored blocks treated as post-completion hooks.", )