"""OpenEvolve Evaluator component — supplied by the TASK.

In Galapagos the Evaluator comes from the task (task.evaluator), not the scaffold. The task's
:class:`SubprocessEvaluator` now performs OpenEvolve-style **cascade evaluation**: when the task
evaluator defines ``evaluate_stage1`` / ``evaluate_stage2`` / ``evaluate_stage3`` it runs them in
order with early-abort on the per-task ``cascade_thresholds`` (declared in the task card's
``evaluation`` block, default ``[0.3, 0.6]``); a task with only a plain ``evaluate`` runs single-shot.
Re-exported so the scaffold directory carries one module per component.
"""
from __future__ import annotations

from ...components.evaluator import SubprocessEvaluator

OpenEvolveEvaluator = SubprocessEvaluator
