Repository navigation
feat(compat): add an explicit local AlphaEvolve experiment facade - #534
Merged
codelion merged 1 commit intoOct 23, 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.
AlphaEvolve-shaped entrypoints currently have no local experiment lifecycle. Add an opt-in
openevolve.compat.alpha_evolvefacade that imports the existing supported experiment-config subset and runs a synchronous, single-file evaluator through OpenEvolve's publicrun_evolutionAPI.The facade supports experiment creation, seed creation, blocking execution, a best-result-only
list_programsenvelope, and an async-shaped completion check that never starts a second run. Setup performs validation without executing the evaluator or constructing provider clients. Model endpoints and objectives are explicit; supplied Google connection arguments warn and are ignored. Seed scores are re-evaluated, source bytes are preserved in a private temporary copy, and completed/failed/interrupted instances cannot be restarted.This deliberately small first SDK slice continues #468; it does not close it. It does not install a top-level
alpha_evolvealias, provide SDK model/visualization types, list the entire archive, or emulate remote client/controller methods. Only synchronous evaluation withparallel_evaluation=Falseis supported. Distinct generation/evaluation budgets are rejected; even equal budgets count OE generation attempts, with seed evaluation and retries additional. An explicititerations=0allows seed-only execution. No evaluation statistics or hard cost caps are implied.Validation:
program.py/evaluate.pyfrom Google's circle-packing, TSP and signal-processing examples at SDK revision34cd919193945c6dc81053f9af594031b54f41a8. Each ran seed-only and with one scripted proposal through OE's actual controller/worker. The real SDK model validated every returned program envelope; source hashes stayed unchanged and guarded socket/HTTP/credential lookup attempts were zero. This used a local harness, not the original upstream entrypoints, a real model or the managed service.No default OE contracts or dependencies change. The walkthrough includes a runnable seed-only example and the supported subset's limitations.