"""OpenEvolve scaffold — one module per component.

  population.py        → MapElitesIslandsPopulation
  selection_policy.py  → OpenEvolveSelectionPolicy
  prompt_builder.py    → OpenEvolvePromptBuilder
  proposer.py          → OpenEvolveProposer
  evaluator.py         → OpenEvolveEvaluator (task-supplied)
  memory.py            → OpenEvolveMemory (none)
  scaffold.py          → OpenEvolveScaffold (the orchestrator that composes the six)
"""
from .evaluator import OpenEvolveEvaluator
from .memory import OpenEvolveMemory
from .population import MapElitesIslandsPopulation
from .prompt_builder import OpenEvolvePromptBuilder
from .proposer import OpenEvolveProposer
from .scaffold import OpenEvolveScaffold
from .selection_policy import OpenEvolveSelectionPolicy

__all__ = [
    "OpenEvolveScaffold",
    "MapElitesIslandsPopulation", "OpenEvolveSelectionPolicy", "OpenEvolvePromptBuilder",
    "OpenEvolveProposer", "OpenEvolveEvaluator", "OpenEvolveMemory",
]
