Przejdź do treści

Blog

Releasesv0.19.3

v0.19.3 — self-evolution flywheel hardening

To notatka do release'u w postaci, w jakiej ją opublikowano, a nie jej przeróbka. Notatki do release'u są publikowane w języku, w którym zostały napisane.

A twelfth adversarial review, of the self-evolution internals (the project's differentiator). The statistical core — the honest-benchmark gates (McNemar/Wilson/Newcombe CIs, transfer-gate, diff-gate, rollback trigger, GEPA Pareto) — reviewed clean. The six fixes are in the skill-store persistence and lifecycle plumbing around it.

Fixed

  • The learned-skill store is now crash-safe. SkillStore wrote skills.json with a plain truncating write on every record_use (the flywheel's highest-frequency write) — a crash mid-write left it unloadable, losing the whole learned-skill library. It now writes atomically (temp + os.replace) and skips a single malformed entry (or a corrupt file) on load instead of aborting.
  • A regressed skill can now actually be demoted. Promotion carried the lifetime win-rate forward, so an active skill that started strong then broke needed ~8 straight failures to cross the retire threshold; promote now resets the probation counters so demotion tracks recent behavior.
  • Deterministic skill retrieval — FTS ranking tie-breaks on name, so which card lands in the top-k (and gets credited a use/success) can't flip between runs on equal BM25 rank.
  • No leaked SQLite connection per retrieval (the in-memory card index is now a closing context manager), and a resumed HITL-approved run no longer credits skill cards it didn't actually use.

Gate: 1452 passed / 3 skipped, mypy + ruff green.

Upgrade: `pip install --upgrade 'chimera-agent[full]'`

Przeczytaj release na GitHubie