"""AdaEvolve scaffold — one module per component.

  population.py        -> AdaEvolveArchipelago      (per-island QD archives + migration + spawning)
  selection_policy.py  -> AdaEvolvePolicy           (G-signal intensity + 3-mode split + UCB islands)
  prompt_builder.py    -> AdaEvolvePromptBuilder    (AdaEvolve template + search_guidance + mode labels)
  proposer.py          -> AdaEvolveProposer         (SEARCH/REPLACE diff, full-rewrite fallback)
  evaluator.py         -> AdaEvolveEvaluator        (task-supplied)
  memory.py            -> AdaEvolveParadigmMemory   (Level-3 paradigm tracker)
  scaffold.py          -> AdaEvolveScaffold         (the orchestrator that composes the six)
"""
from .evaluator import AdaEvolveEvaluator
from .memory import AdaEvolveParadigmMemory
from .population import AdaEvolveArchipelago
from .prompt_builder import AdaEvolvePromptBuilder
from .proposer import AdaEvolveProposer
from .scaffold import AdaEvolveScaffold
from .selection_policy import AdaEvolvePolicy

__all__ = [
    "AdaEvolveScaffold",
    "AdaEvolveArchipelago", "AdaEvolvePolicy", "AdaEvolvePromptBuilder", "AdaEvolveProposer",
    "AdaEvolveEvaluator", "AdaEvolveParadigmMemory",
]
