# OpenEvolve + World Knowledge. # The OpenEvolve half is its bundled preset VERBATIM (scaffolds/openevolve/config.yaml) — the two # methods must differ by the layer alone, so nothing else may drift between the files. seed: 42 # OpenEvolve DatabaseConfig.random_seed default general: max_iterations: 100 max_solution_length: 10000 # OpenEvolve Config.max_code_length default (over-length children rejected) population: # MapElitesIslandsPopulation num_islands: 5 archive_size: 100 population_size: 1000 feature_dimensions: [complexity, diversity] feature_bins: 10 migration_interval: 50 # migrate every N island generations migration_rate: 0.1 # fraction of each island migrated to ring neighbours diversity_reference_size: 20 selection_policy: # OpenEvolveSelectionPolicy # (also reads population.num_islands + population.feature_dimensions) exploration_ratio: 0.2 # P(uniform-random parent from current island) exploitation_ratio: 0.7 # P(fitness-weighted parent from the archive) elite_selection_ratio: 0.1 # top fraction of island used as inspirations num_inspirations: 3 # prompt.num_top_programs (the PromptBuilder reuses this count) num_diverse: 2 # prompt.num_diverse_programs proposer: # OpenEvolve LLMConfig defaults (apply only to a model built from this preset) top_p: 0.95 max_tokens: 4096 timeout: 60 world_knowledge: # the layer; every knob here is one the method reads enabled: true gate: llm # G — the method. "always" removes the gate; "heuristic" is the # random-rate control at retrieve_probability. query_evolution_steps: 3 # 1 = one search + listwise LCLM reranking, no query evolution; # 2+ = M construct→search→rerank→reflect rounds. use_search_database: true # false = stateless retrieval (no selection, persistence, or credit) select_policy: delta # delta | relevance_novelty (LLM utility top-K) | recency | full select_num: 6 # K entries shown to the gate and the query operator documents_per_entry: 3 max_document_chars: 2000 # per-document cap in the evidence block rerank_max_document_chars: 8000 # per-candidate cap in the long-context reranking prompt rerank_relevance_weight: 0.5 # direct, specific, actionable usefulness rerank_novelty_weight: 0.5 # marginal information beyond prior and higher-ranked evidence gate_prompt: retrieval_gating_w_search_database gate_prompt_no_search_database: retrieval_gating_wo_search_database query_prompt: query_construction_w_search_database query_prompt_no_search_database: query_construction_wo_search_database rerank_prompt: reranking_w_search_database rerank_prompt_no_search_database: reranking_wo_search_database reflect_prompt: query_self_reflection evidence_block_prompt: retrieved_evidence_block_wo_image # omit Tavily images from mutation prompt history_programs: 5 # fallback only — OpenEvolve renders its own evolution history and # the layer reuses that, so the gate reads what the mutator reads grounding: none # "offline" (grounding_file: a jsonl seed) or "online" (one # pre-loop search) for the RAG-grounded setting retrieval_backend: tavily # tavily (default) | claude_code tavily: # Search(q) — needs TAVILY_API_KEY + open-galapagos[web-search] search_depth: advanced max_results: 5 # top-K documents kept per search include_answer: true include_raw_content: markdown # the page itself, not only the snippet claude_code: # selected only when retrieval_backend=claude_code cli_path: claude # uses the host CLI's existing login model: claude-opus-4-8 # explicit null opts back into the CLI default effort: xhigh # explicit null opts back into the model default timeout: 120 max_turns: 2 # minimum 2; use 3+ when allow_web_fetch=true max_results: 5 allow_web_fetch: false # WebSearch only by default; true also permits bounded WebFetch max_budget_usd: null