Skip to content

v1.88.3

Choose a tag to compare

@autogame-17 autogame-17 released this 06 Jun 18:08
· 21 commits to main since this release

[1.88.3] - 2026-06-06

Fixed

  • 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.