Vai al contenuto

Blog

Releasev0.19.7

v0.19.7 — scheduler & migration hardening

Questa è la nota di release così com'è stata pubblicata, non una sua riscrittura. Le note di release sono pubblicate nella lingua in cui sono state scritte.

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]'`

Leggi la release su GitHub