Skip to content

feat(compat): add opt-in AlphaEvolve bundle launcher - #532

Merged
codelion merged 1 commit into
algorithmicsuperintelligence:mainfrom
Yushu-Li:feat/alphaevolve-bundle-runner
Oct 22, 2026
Merged

codelion merged 1 commit into
algorithmicsuperintelligence:mainfrom
Yushu-Li:feat/alphaevolve-bundle-runner

Conversation

@Yushu-Li

Copy link
Copy Markdown
Contributor

The exported Python bundle currently stops at local evaluation. Add a generated
run_alphaevolve.py entry point backed by
python -m openevolve.compat.alphaevolve_launch, so the same bundle can be
preflighted offline or explicitly launched through the official AlphaEvolve SDK.

The default and --dry-run paths validate the exported configuration subset,
evaluation options and Python sources and print a JSON summary. They do not
import the SDK or evaluator, execute the seed, look up credentials or make
requests. The optional SDK is not added to OpenEvolve's base dependencies.

--run requires explicit project, engine and positive evaluation target arguments.
It validates the configuration with the real SDK and evaluates the trusted seed
before constructing a client. It then creates a new experiment, uploads the seed
with its actual scores, checks upload/start responses and runs the SDK controller
with one sampler and one synchronous evaluator. A private package supports the
bundle's relative imports/dataclasses without replacing an application's src
package, and is removed after success or failure.

The SDK experiment helper discards the start response, so the launcher uses the
public client start method to detect a failed response before entering the
controller. The final JSON reports the experiment name, SDK statistics and whether
the evaluation target was reached. Launch failures and unmet targets exit nonzero.

Validation:

  • 808 offline unit tests passed, including 17 new launcher tests and the
    updated bundle layout test.
  • Unchanged function_minimization and circle_packing examples exported,
    relocated and preflighted through their generated entry points.
  • Both generated launchers exercised the real SDK client, experiment,
    controller and workers
    , with only the HTTP transport boundary replaced.
    The actual SDK validated the config, seed evaluation and candidate submission.
    SDK revision: 34cd919193945c6dc81053f9af594031b54f41a8.
  • Additional real-SDK scenarios verified that a failed start does not enter the
    controller and an idle controller with no submitted evaluations exits nonzero.
  • Guards around all 10 example-validation Python processes recorded zero
    socket/HTTP requests and zero credential lookups
    . Original example sources
    remained unchanged. No managed-service experiment was run.
  • Black, isort, Python 3.10 syntax parsing and the CI-pinned Frame scan passed.

Partial follow-up to #468, building on merged #529. This covers the exported
single-file Python subset, not the broader SDK shim or equivalent search behavior.
Cloud use requires separately installed SDK/evaluator dependencies and valid
service access. Each --run creates a new experiment and may incur charges;
it does not resume, automatically stop or delete remote resources. The evaluation
target can be overshot by SDK queued work, seed evaluation is additional, and
the idle threshold is not a wall-clock or monetary limit. These boundaries are
documented in the walkthrough and generated README.

Implemented with AI coding assistance and checked with the tests and real SDK
validation described above.

@codelion
codelion merged commit 55afb42 into algorithmicsuperintelligence:main Oct 22, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants