Выпуски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.jsonno 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 addis 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 servestarts now fire (the handler reloads before dispatch).
Fixed — migration
- 🔒
migratecan no longer overwrite arbitrary files via a symlinked skill. A hostile skill dir with aSKILL.mdsymlinked to e.g.~/.bashrccould 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.mdand 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]'`