Skip to content

feat(compat): support the upstream signal-processing entrypoint - #541

Merged
codelion merged 1 commit into
algorithmicsuperintelligence:mainfrom
Yushu-Li:feat/alphaevolve-signal-entrypoint
Oct 23, 2026
Merged

codelion merged 1 commit into
algorithmicsuperintelligence:mainfrom
Yushu-Li:feat/alphaevolve-signal-entrypoint

Conversation

@Yushu-Li

Copy link
Copy Markdown
Contributor

The upstream signal-processing entrypoint omits model configuration, queries a diagnostic experiment before creating the experiment it actually runs, passes sampler/evaluator counts to the controller, and orders results by generic score. These calls prevent it from using the existing local walkthrough.

Extend run_entrypoint.py to execute its original main() with byte-identical staged sources. A signal-specific experiment subclass supplies the explicit --model without mutating the upstream configuration. The runner requires the reviewed diagnostic-then-completed lifecycle, so caught setup failures and early returns cannot appear successful. During this main, SAVE_PROGRAM_DIR points to the staged programs/ directory and is restored on success or failure, keeping optional evaluator archives away from inherited destinations.

The isolated local facade adds a client-scoped, in-memory experiment lookup returning only name/state. Generic score ordering refers to the explicitly selected objective. Positive num_samplers/num_evaluators arguments are accepted with a warning that they are ignored: synchronous execution has already finished, and the controller neither reruns evolution nor creates workers. Other cloud query/controller options remain unsupported. Existing seed-only defaults, explicit endpoint/key selection and best-only results are preserved.

Validation:

  • Nine new tests cover signal-processing's original entrypoint shape, actual OE seed/worker execution, explicit model precedence without configuration mutation, diagnostic failures/early returns, archive/environment restoration, layout drift, local metadata lifecycle/isolation, score ordering and controller boundaries.
  • Full offline suite: 881 tests passed, including the existing local-loopback HTTP worker/resume test. Black/isort, Python 3.10 grammar checks and Frame scans of all six changed Python files passed.
  • Executed the original signal-processing, circle-packing and TSP main() at official revision 34cd919193945c6dc81053f9af594031b54f41a8, each seed-only and with one scripted proposal through real OE workers. Original and staged Python source hashes remained unchanged, SDK imports were blocked, temporary aliases were cleaned up, and guarded socket/HTTP/credential-lookup attempts were zero.
  • Signal processing returned overall_score=0.49904861783269006 with success_rate=1.0 in both runs; its original evaluator archive confirms the scripted candidate was evaluated. Both earlier examples also retained their reporting flows. Validation used Matplotlib 3.10.9 as documented by the existing walkthrough; no real model or managed-service requests were made.

Continues #468 without closing it. This covers the three reviewed local entrypoints, not arbitrary SDK examples, cloud concurrency semantics or a full archive API. Signal-processing archive filenames can be reused by the upstream saver. Fixed proposals validate integration rather than optimization quality. Trusted code retains normal process privileges; no sandbox, strict cost cap or base dependency changes are introduced. Dedicated upstream-example CI, complete round-trip run coverage and actual managed-service validation remain follow-ups.

@codelion
codelion merged commit 93141c0 into algorithmicsuperintelligence:main Oct 23, 2026
3 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