EvoX
Co-evolves the search strategy with the solutions: the parent/context selection policy is itself LLM-written code, scored by windowed improvement and hot-swapped on stagnation.
"""EvoX Evaluator component — supplied by the TASK.
In Galapagos the Evaluator comes from the task (``task.evaluator``), not the scaffold; EvoX uses
the task's SubprocessEvaluator for solutions. Re-exported so the scaffold directory carries one
module per component. The strategy-side ``Valid(·)`` test is NOT an LLM/task evaluator — it is the
deterministic :func:`~galapagos.scaffolds.evox.strategy.validate_strategy`. The upstream
eval-failure gate (validity 0/-1 / zero-score-with-error children are never added) lives in
:class:`~galapagos.scaffolds.evox.population.EvoXPopulation`.
"""
from __future__ import annotations
from ...components.evaluator import SubprocessEvaluator
EvoXEvaluator = SubprocessEvaluator