Top-K
Always expand the single best program, with the next K as context. Pure greedy elitism.
"""Top-K scaffold — one module per component.
population.py -> TopKPopulation
selection_policy.py -> TopKPolicy
prompt_builder.py -> TopKPromptBuilder
proposer.py -> TopKProposer
evaluator.py -> TopKEvaluator (task-supplied)
memory.py -> TopKMemory (none)
scaffold.py -> TopKScaffold (the orchestrator that composes the six)
"""
from .evaluator import TopKEvaluator
from .memory import TopKMemory
from .population import TopKPopulation
from .prompt_builder import TopKPromptBuilder
from .proposer import TopKProposer
from .scaffold import TopKScaffold
from .selection_policy import TopKPolicy
__all__ = [
"TopKScaffold",
"TopKPopulation", "TopKPolicy", "TopKPromptBuilder", "TopKProposer", "TopKEvaluator", "TopKMemory",
]