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 scaffold — one module per component.
population.py -> EvoXPopulation (hosts the ACTIVE evolved strategy + φ statistics)
selection_policy.py -> EvoXPolicy (thin adapter over the strategy's sample())
prompt_builder.py -> EvoXPromptBuilder (operator-labeled default template + all prompts)
proposer.py -> EvoXProposer (diff proposer + parent_info/context_ids stamps)
evaluator.py -> EvoXEvaluator (task-supplied)
memory.py -> EvoXStrategyMemory (the strategy history H)
scaffold.py -> EvoXScaffold (the orchestrator that composes the six)
plus two non-component infra modules:
strategy.py -> StrategyBase / load_strategy_from_source / validate_strategy (Valid(·))
seed_strategy.py -> the S0 GENOME (read as text by the meta loop AND executed)
"""
from .evaluator import EvoXEvaluator
from .memory import EvoXStrategyMemory
from .population import EvoXPopulation
from .prompt_builder import EvoXPromptBuilder
from .proposer import EvoXProposer
from .scaffold import EvoXScaffold
from .selection_policy import EvoXPolicy
from .strategy import StrategyBase, load_strategy_from_source, validate_strategy
__all__ = [
"EvoXScaffold",
"EvoXPopulation", "EvoXPolicy", "EvoXPromptBuilder", "EvoXProposer",
"EvoXEvaluator", "EvoXStrategyMemory",
"StrategyBase", "load_strategy_from_source", "validate_strategy",
]