Repository navigation
feat(compat): adapt local AlphaEvolve evaluators for OpenEvolve - #519
Merged
codelion merged 1 commit intoOct 19, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OpenEvolve evaluators receive a file path, while Google's local AlphaEvolve examples expect a candidate object and return nested scores/insights. Add an explicit, dependency-free
adapt_evaluatorhelper underopenevolve.compatso those evaluators can be used unchanged through the existing callable API.Partially addresses #468: this is the A1 evaluator-contract slice and a local walkthrough. It does not close the issue or provide SDK emulation, config translation, export, or cloud execution.
combined_score. Map configurable failure sentinels/null/non-finite scores to failure metrics without accidentally promoting them above valid negative objectives.Validation:
python -m unittest discover -s tests -q: 687 tests passed, including 15 new adapter tests and a real controller/worker round-trip with a deterministic provider.git diff --checkpass.Google-Cloud-AI/alphaevolve-on-googlecloudat674dd5e558e917320c251c085e47fae33e1bbcff: all three unchanged seed/evaluator pairs evaluated locally and completed one OE generation through real worker processes using scripted proposals. Original input files remained byte-identical. Network connections were blocked by the validation harness. This verifies interoperability, not learned optimization quality; no paid LLM or real Google service was used.Limitations are documented: synchronous single-file local evaluators only, no sandbox, and exceptions/timeouts retain OE's existing generic error handling (which can return zero fitness).
AI disclosure: Codex assisted with implementation, tests and documentation for a user-selected existing public issue found during contribution research. All validation reported above was executed locally.