agentic-stack v0.19.1
Patch release. Four correctness fixes in memory retrieval, project upgrade, and
file I/O. No contract, CLI, or on-disk format changes.
Fixes
- Recall returned superseded lessons (#60). Supersession appends a new id
and never edits the old row, so retrieval kept surfacing retired guidance
beside its replacement.superseded_by_map()now lives in
render_lessons.pyand is shared withrecall.py, so rendering and
retrieval can't disagree about what is retired. Provisional supersessions
still do not retire the old lesson. upgradecopied new loop skills to a doubled path (#63). A missing
loop-*skill landed at.agent/skills/skills/loop-x/instead of
.agent/skills/loop-x/, in both--dry-runreports and real copies.- Locale-dependent encoding in
learn.py(#61).stdout/stderrforced to
UTF-8 and candidate JSON written with an explicit encoding, so non-ASCII
claims survive on hosts whose default codepage isn't UTF-8. - Leaked file handle (#62).
_lesson_already_appended()reads through a
context manager instead of relying on refcounting.
Upgrade
agentic-stack upgrade --dry-run
agentic-stack upgrade --yesOptional — nothing breaks on 0.19.0. Projects that previously upgraded into
.agent/skills/skills/ can delete that stray directory; the correctly-placed
skills are copied on the next upgrade.
Verification
python3 -m pytest: 180 passed (175 on 0.19.0 plus 5 new regression
tests covering supersession filtering and the loop-skill copy path).- Each fix ships with a test that fails on the pre-fix code.
Loop usage, safety boundaries, and the sandbox caveat are unchanged from
v0.19.0.