Перейти к содержимому

Блог

Выпускиv0.19.7

v0.19.7 — scheduler & migration hardening

Это описание выпуска как оно опубликовано, а не его пересказ. Описания выпусков публикуются на том языке, на котором были написаны.

The 15th adversarial review swept two un-audited subsystems — the scheduler (cron store / SOP / webhook dispatch) and the migration importers — and turned up 8 real bugs, 2 of them security-relevant. All fixed with regression tests.

Fixed — scheduler

  • A corrupt jobs.json no longer wipes every cron. A truncated or typo'd store file used to crash the whole store on load and clear all in-memory crons. The store now keeps its jobs on an unreadable/invalid file and doesn't advance its mtime, so a later fix reloads cleanly.
  • Concurrent cron add is no longer lost. A daemon holding a stale snapshot could clobber a job another process added mid-dispatch; writes now fold in unknown on-disk jobs first (best-effort, documented as not a lock substitute).
  • Atomic writes use a unique temp file (no more two writers colliding on a shared jobs.json.tmp).
  • Webhook jobs registered after chimera serve starts now fire (the handler reloads before dispatch).

Fixed — migration

  • 🔒 migrate can no longer overwrite arbitrary files via a symlinked skill. A hostile skill dir with a SKILL.md symlinked to e.g. ~/.bashrc could be written through during taint-stamping — the pass now skips symlinks and requires the real path to stay under the skills dir.
  • A dotted skill filename (planner.v2.md) keeps its .md and is taint-stamped (it used to be copied without the extension and skip the taint boundary).
  • migrate <source> <bad-path> now exits non-zero instead of silently reporting success.

Gate: 1466 passed / 4 skipped, mypy + ruff green.

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

Читать описание выпуска на GitHub