You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gene selection no longer self-reinforces a do-nothing gene (#562). A stable_no_error
outcome (no error before/after, no parseable EvolutionEvent — i.e. the cycle did nothing
measurable) was tallied as a Bayesian "success" (score 0.6). Combined with the selector's
drift only diversifying when >1 gene matches a signal, a sole-matching auto-gene was
re-selected every --loop cycle, climbed edge confidence p → ~1.0, and was never banned
(the failure-streak ban never trips on "successes") — dominating selection ~99.7% of the
time while producing zero artifacts (reproduced against the published 1.88.2 binary). aggregateEdges now tallies these zero-work outcomes as inert, apart from real
successes, so they build no confidence and do not count toward attempts; getMemoryAdvice
bans a gene after GENE_INERT_BAN_STREAK (default 8, env EVOLVER_GENE_INERT_BAN_STREAK)
consecutive inert outcomes with no real success on a signal, so the selector falls through
to mutation (null → fresh gene) and diversity is restored. Consecutive-trailing (reset by
any real success/failure), so a gene that ever does real work is never punished for idle
cycles.
Self-evolution validation commands no longer fail a cycle in user projects (#562). Seed
genes (e.g. gene_gep_repair_from_errors) ship validation commands that target evolver's
own tree (node scripts/validate-modules.js ./src/gep/...). When evolver runs in a user's
project, repoRoot is that project and the script is absent, so the command could only fail
with "Cannot find module" — wrongly tanking the gene's validation_pass_rate on an
environment mismatch. runValidationsOnce now skips a node <script> validation command
whose (relative) script does not exist in repoRoot, excluding it from the pass/fail tally
instead of failing the cycle; a clear [Solidify] Skipping validation command (script not in repoRoot) line replaces the confusing module-not-found error. Commands whose script is
present run unchanged.