Evolution Lab

Process dump — numbered artifacts, one-line captions. Not a marketing page.
Engine: kvnloo/evolution-lab · Claims: frontier-kb · Runtime: openjev

01 — What this is

Numpy mushroom-body student on typed Hermes recovery. Frozen PN→KC, plastic KC→MBON only. Not FlyGym, not OpenEvolve, not a Qwen swap. SearchDriver ≠ frozen judge.

02 — P1 control table (locked splits)

FamilyConfirmValParams
teacher / rule1.001.000
direct_input0.790.6375
mlp1.001.004032
gru0.920.903000
fixed_reservoir1.000.963264
local_plasticity1.000.98640

Kill criterion did not fire. MaleCNS SGD still refused. Encoder is flatten+last+maxpool Hermes history, not the compound eye.

03 — Stack (how evolution actually runs)

  1. lab / MAP-Elites — discover families on the control table. Not the production kernel tuner.
  2. autoresearch — 1-knob champion chase; frozen bench.py / select.py. Hard gates: closed-loop ≥ 1.0, confirm/val ≥ 0.95, ood ≥ 0.85, violations = 0.
  3. cycle — ABAB A-timescale: 1-knob session until plateau, then sweep. World in league/abab.json. B is still frozen-judge autoresearch/sweep. Daemon opt-in (--forever).
  4. sweep — 75% of logical CPUs, OMP_NUM_THREADS=1. Contended latency is not comparable to serial league. Serial rebench before keep.
  5. jev-distill — fly pre-predicts TypeSafe Jev skill routing from OMP history × Jev logs. Distillation, not RLHF. Jev already emits typed choices.

04 — Production champion (2026-09-17)

StartLeague
idseed=1 / 640 wfly-4080a10a
knobshidden=128, dagger=0hidden=96, dagger=3
latency_score12.20 → 6.325.923
closed-loop1.01.0
advise p99—0.13 ms vs Jev ~272 ms

OMP bundle: data/p0/recovery_student.npz. Cycle stopped on operator request after 30 sessions / 23 idle.

05 — ABAB (5 waves)

  1. Did not redo P0/P1/joules-definition/MB-LoRA/judge-split (frontier-kb).
  2. hidden≤64 never hits closed-loop 1.0 (n=34).
  3. C-test hidden=64 + dagger=3 still CL=0.953 — capacity, not undertraining.
  4. H2 promoted. Next C: k_winners grid (now a SearchDriver knob).
  5. Stop: budget. State: .hermes/abab/fly-cycle-meta.json (local).

06 — Jev distill (operator text)

72 OMP history.db prompts time-joined to Jev route logs (median 0.88 s). 7-way confirm: fly = majority = 0.33. Ridge 0.17. Fly 672 w, 0.028 ms. Cannot beat Jev without an outcome verifier.

07 — Parallel sweep (15 workers, 30 jobs, 13.5 s)

k_winners {5,8,12} failed the closed-loop gate. k_winners=10 (the 10% heuristic) holds. Best contended score 6.31 still worse than serial 5.92. Control rebenched at 9.24 under load — do not keep from contended benches.

Serial rebench of top rows: none beat 5.923. Champion stands.

08 — Commands

python -m evolution_lab lab --evolve-generations 2 --dagger-rounds 2
python -m evolution_lab autoresearch --tag YYYYMMDD --max-experiments 20
python -m evolution_lab cycle --forever --skip-unit-tests
python -m evolution_lab sweep --workers 15
python -m evolution_lab jev-distill
python -m evolution_lab recovery '{"action":"status"}'

Maintainer roadmap stays ROADMAP.md. Workers do not rewrite it.