galapagos
DocsHubLeaderboardPlaygroundNews
galapagos

six blocks · any task ·
better solutions emerge.

Platform

  • Hub
  • Leaderboard
  • Playground

Resources

  • Docs
  • API reference
  • Card spec

Community

  • GitHub
  • Contribute

Updates

  • News
  • Releases

© 2026 Galapagos. Licensed under Apache-2.0.

Build your own scaffold.

Hub/Scaffolds/SkyDiscover/EvoX

SkyDiscover/evox

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.

Test-time searchApache-2.0
Scaffold cardFiles and versions
evox/config.yaml
35 lines · 2.9 KByamlDownload
# EvoX — faithful port of SkyDiscover's EvoX (CoEvolutionController) defaults (the reference
# implementation; it is the ground truth wherever it diverges from the paper).
# Sections mirror the six core components, plus `meta` for the strategy co-evolution loop.
seed: 0
general:
  max_iterations: 100
  inner_retry_times: 3                   # CoEvolutionController calls _run_iteration(retry_times=3):
                                         # up to 3 generate+evaluate attempts per solution iteration
                                         # against the SAME sampled parent, folding each failure into
                                         # the retry prompt; the solution-iteration counter and the
                                         # J-scoring window both advance by attempts_used (1..3) — see
                                         # EvoXScaffold.after_step
  inner_retry_solution_chars: 1500       # _format_failed_attempts caps the failed solution/response at 1500
  inner_retry_traceback_chars: 800       # ... and the traceback tail at 800 (SkyDiscover DefaultContextBuilder)
population:                              # EvoXPopulation
  improvement_threshold: 0.01           # stagnation-reset gain τ (DEFAULT_IMPROVEMENT_THRESHOLD)
  statistics_k: 20                      # get_statistics k — top-k scores in the φ descriptor
selection_policy:                       # EvoXPolicy
  num_context_programs: 4               # inspirations requested from the active strategy's
                                        # sample() each iteration
meta:                                   # the strategy co-evolution loop (EvoXScaffold itself,
                                        # NOT a single component slot)
  switch_interval: null                 # W; null → auto = max(1, 10% of max_iterations)
  meta_num_context_programs: 2          # strategy inspirations sampled from H per generation event
  meta_max_retries: 3                   # meta generation attempts per event with failure feedback
  auto_generate_variation_operators: true  # false → static DEFAULT_DIVERGE/REFINE_TEMPLATE (no LLM)
  use_llm_stats_insight: true           # false → raw format_population_state text in the meta prompt
  use_problem_summary: true             # problem-context summary guide call (cached per problem)
  use_batch_summaries: true             # batch [PROGRAM N] summaries of prior strategies
  max_strategy_chars: 60000             # generated strategy cap (max_solution_length, meta side)
# NOTE (deviations from the upstream config surface):
# - upstream `share_llm` is not exposed: galapagos scaffolds carry ONE model, so the meta loop and
#   the guide calls always share the run's model (the share_llm: true behaviour).
# - upstream `database_file_path`/`evaluation_file`/`config_path` are not exposed: the seed
#   strategy is bundled (seed_strategy.py) and Valid(·) is strategy.validate_strategy.