feat(skill): darwinian-evolver optional skill#26760
Merged
Merged
Conversation
Thin wrapper around Imbue's darwinian_evolver (AGPL-3.0, subprocess-only). Ships a working OpenRouter driver (parrot_openrouter.py), a snapshot inspector (show_snapshot.py), and a custom-problem template. SKILL.md has 58-char description, Pitfalls sourced from actually running the loop: non-viable seed trap, Azure content filter killing runs, loop.run() being a generator, nested-pickle snapshots, and aggressive default concurrency. Salvaged from #12719 by @Bihruze — original PR shipped 12,289 LOC across 61 files (29 Python modules, FastAPI dashboard, VS Code extension, benchmark hub, marketplace, etc.) which was far beyond the scope of the underlying issue (#336). This version stays at the ~700-LOC scope that issue actually asked for. Authorship of the original effort credited via AUTHOR_MAP entry and the SKILL.md author field. Verified end-to-end: seed 'Say {{ phrase }}' (score 0.000) evolved into 'Please repeat the following phrase exactly as it is, without any modifications or additional formatting: {{ phrase }}' (score 0.750) across 3 iterations on gpt-4o-mini via OpenRouter. Co-authored-by: Bihruze <98262967+Bihruze@users.noreply.github.com>
Contributor
🔎 Lint report:
|
| Rule | Count |
|---|---|
unresolved-import |
11 |
First entries
optional-skills/research/darwinian-evolver/templates/custom_problem_template.py:32: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.evolve_problem_loop`
optional-skills/research/darwinian-evolver/scripts/parrot_openrouter.py:26: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.evolve_problem_loop`
optional-skills/research/darwinian-evolver/scripts/parrot_openrouter.py:20: [unresolved-import] unresolved-import: Cannot resolve imported module `openai`
tests/skills/test_darwinian_evolver_skill.py:16: [unresolved-import] unresolved-import: Cannot resolve imported module `pytest`
optional-skills/research/darwinian-evolver/templates/custom_problem_template.py:33: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.learning_log`
optional-skills/research/darwinian-evolver/scripts/parrot_openrouter.py:27: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.learning_log`
optional-skills/research/darwinian-evolver/templates/custom_problem_template.py:27: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.cli_common`
optional-skills/research/darwinian-evolver/scripts/parrot_openrouter.py:25: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.cli_common`
optional-skills/research/darwinian-evolver/templates/custom_problem_template.py:34: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.problem`
optional-skills/research/darwinian-evolver/templates/custom_problem_template.py:23: [unresolved-import] unresolved-import: Cannot resolve imported module `openai`
optional-skills/research/darwinian-evolver/scripts/parrot_openrouter.py:33: [unresolved-import] unresolved-import: Cannot resolve imported module `darwinian_evolver.problem`
✅ Fixed issues: none
Unchanged: 4338 pre-existing issues carried over.
Diagnostics are surfaced as warnings — this check never fails the build.
1 task
14 tasks
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.
Summary
Adds
darwinian-evolveras an optional skill — a thin wrapper around Imbue's darwinian_evolver (AGPL-3.0, subprocess-only) for evolving prompts, regex, SQL, and small code snippets via LLM-driven evolutionary search.Salvaged from #12719 by @Bihruze. Their original PR shipped 12,289 LOC across 61 files (29 Python modules, FastAPI dashboard, VS Code extension, benchmark hub, marketplace, distill pipeline, Ray/WASM/Firecracker sandboxes) — well beyond the scope of issue #336, which asked for a thin skill that installs Imbue's CLI and walks the agent through writing a Problem definition. This version stays at that scope (~700 LOC).
Closes #336.
Validation
End-to-end run against gpt-4o-mini via OpenRouter:
Say {{ phrase }}Best evolved organism:
Pitfalls section sourced directly from the run:
is_viable=Trueeven when scoring 0loop.run()is a generatorTests:
scripts/run_tests.sh tests/skills/test_darwinian_evolver_skill.py— 14/14 green. Tests verify SKILL.md frontmatter discipline (≤60-char description, contributor credit, license, platforms), all shipped Python parses, and the Pitfalls section matches reality.Changes
optional-skills/research/darwinian-evolver/SKILL.md(199 lines, 58-char description)optional-skills/research/darwinian-evolver/scripts/parrot_openrouter.py— verified working driveroptional-skills/research/darwinian-evolver/scripts/show_snapshot.py— organism-agnostic inspectoroptional-skills/research/darwinian-evolver/templates/custom_problem_template.py— copy-and-fill scaffoldtests/skills/test_darwinian_evolver_skill.py— 14 testsscripts/release.py— AUTHOR_MAP entry for @BihruzeCredit
@Bihruze's substantial original effort on #12719 is credited via the SKILL.md
author:field and the AUTHOR_MAP entry. Closing #12719 in favor of this scoped version.