Source code for ralph.pipeline.effects.exhausted_analysis_phase_advance_effect

"""Exhausted-analysis-phase-advance pipeline effect."""

from __future__ import annotations

from dataclasses import dataclass
from importlib import import_module
from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from ralph.config.enums import PipelinePhase
else:
    PipelinePhase = import_module("ralph.config.enums").PipelinePhase


[docs] @dataclass(frozen=True) class ExhaustedAnalysisPhaseAdvanceEffect: """Effect to bypass an already exhausted analysis phase through PHASE_ADVANCE. Used when the runner is already sitting in an exhausted analysis phase. The runner must not invoke the analysis agent again; instead it emits ``PHASE_ADVANCE`` so reducer-owned success routing, loop resets, and phase advancement remain the single source of truth. """ phase: PipelinePhase