Source code for ralph.pipeline.events.analysis_decision_event
"""Analysis decision event for the pipeline."""
from dataclasses import dataclass
[docs]
@dataclass(frozen=True)
class AnalysisDecisionEvent:
"""Event emitted when an analysis phase resolves a decision from the agent artifact.
The reducer routes via ``policy.phases[phase].decisions[decision].target`` directly,
making this a first-class routing input rather than a collapsed signal.
Attributes:
phase: Name of the phase that emitted this decision.
decision: Raw decision string from the agent artifact (validated against
the phase's decision_vocabulary in the artifacts policy).
"""
phase: str
decision: str