v1.1.0 — ready to publicize
v1.1.0 — ready to publicize
The v1.0 line shipped the runtime; v1.1 ships the first 10 minutes a stranger spends with the runtime. No kernel refactor, no new dependencies, no abstractions — just the onboarding surface that turns "interesting README" into "I just ran it."
What's new
evolution-kernel init — three-question scaffolder (#28)
A new subcommand asks 3 questions — mission, template, allowed paths — and drops a valid evolution.yml in the current directory. Five starter templates ship as plain YAML and cover the common mission shapes:
lint— drive a linter/formatter to zero violationscoverage— raise test coverageperf— optimize a measurable workloadbenchmark— FunSearch / AlphaEvolve-style population search (k-branch parallel)custom— blank-ish starter
No interactive prompt library, no template base classes, no Python template generator — the wizard is 76 lines of stdlib input() calls, and the rendered output is fed through load_config() before it can hit disk, so a broken template can never escape.
examples/quickstart/ — see the loop close in 1.4 seconds (#30)
A turn-key demo that takes a stranger from git clone to evolution/accepted commit in one shell snippet, zero cost, no API key:
pip install -e . && pip install ruff
bash examples/quickstart/setup.sh
evolution-kernel --config examples/quickstart/evolution.yml \
--repo /tmp/ek-quickstart-target \
--ledger /tmp/ek-quickstart-ledger --loopMeasured wall-clock on a developer laptop: 1.4 s. The mission is small on purpose (drive ruff to zero violations on src/messy.py) so the entire closed loop — worktree sandbox, scope enforcement, ledger writes, evolution/accepted branch advancing — fits in one terminal scroll. No LLM in the loop; the planner/executor/evaluator are deterministic Python scripts committed into the demo target itself. This is intentional: the example demonstrates the runtime, not LLM smarts. For the LLM-driven story, see ⬇.
examples/oss_fix_demo/ — real OSS fix via claude CLI (#32)
The companion to quickstart, pointed at a real published OSS package: python-slugify v8.0.4 (1,106 LoC, MIT). The executor is claude -p --permission-mode acceptEdits, billed against the operator's Claude Pro / Max subscription — no API key, no per-token charge.
Verified end-to-end (2026-05-17):
- 10 real ruff violations on the cloned target
- Claude makes the semantic edits (F401 → explicit
as-alias re-exports), wall-clock 34 s - A
ruff check --fix && ruff formatpostprocess mops up structural autofixes (I001 import sort) - Run 0001 accepted,
evolution/acceptedadvanced, real commitbae97a8landed - Total
--looptime: 48 s, $0 marginal cost
The realistic split — LLM does semantic work, deterministic tooling handles structural cleanup — mirrors how production teams actually chain agents with formatters.
README hero block (#34)
The first thing a visitor sees is now a copy-pasteable ▶ Try in 10 minutes snippet plus a compact ASCII workflow diagram showing Observe → Plan → Execute → Evaluate → accept/reject → ledger. The existing investor-narrative Motivation / SWE-bench Verified worked-example sections are intact below.
Numbers
- 102 tests pass under
python -m unittest discover -s testson Python 3.10 and 3.12 (99 baseline + 3 new for the init wizard, covering all 5 templates viasubTest). evolution_kernel/*.py: 1,969 lines — well under the v1.1 soft cap of baseline + 200 (= 2,089).- Single runtime dependency (PyYAML) preserved.
- No kernel changes — every new behavior lives in
init_wizard.py, the templates, or underexamples/. The runtime that v1.0.0 froze is byte-identical.
Issues closed
- #27
evolution-kernel initsubcommand + 5 YAML templates - #29
examples/quickstart/10-minute zero-cost ruff cleanup demo - #31
examples/oss_fix_demo/real OSS fix via claude CLI - #33 README hero — ▶ Try in 10 minutes + ASCII workflow
Migration
None. v1.1 is a strict superset of v1.0 on the kernel surface. Existing configs and ledgers continue to work unchanged.