Repository navigation
v0.5.2 — scenes record their atoms; L2 brings stale scenes up to date
Note
v0.5.3 is the same code under the Apache License 2.0 instead of the Business Source License 1.1. To upgrade, go straight to v0.5.3; everything below applies to it too.
Before you upgrade
Scenes record the atoms they were built from, and L2 brings a scene up to date when those atoms change. Check these before you upgrade; each one links to its section in UPGRADE → To 0.5.2. From 0.4.3, read To 0.5.0 first.
| If … | Then … |
|---|---|
| The distillation model is billed per call, or a self-hosted model is shared | L2 runs more often: after atoms are rewritten or deleted through the API, and for stale scenes even with no new atoms (each mark at most memory.l2.staleMaxAttempts times). Lower memory.l2.staleScenesPerRun or staleMaxAttempts to limit it (scenes and their atoms) |
| You run more than one memory-core | Stop the old ones before starting the new one: an old replica that writes atoms leaves the scenes they belong to unmarked |
A script reads scenario/ls or scenario/read |
Nothing to change: both answer with two more fields, stale and stale_reasons |
A script calls skill/proposal/* |
Nothing to change; agent_id is no longer required, and approve and reject need only task_id and index |
You will copy SQLite to Postgres with migrate-to-postgres.sh |
Run the copy of the new version: it includes the two new tables |
Warning
Going back to 0.5.1 after this upgrade means restoring the backup. memory-core runs schema migration 8 at startup, which adds two tables. Nothing is converted, but 0.5.1 refuses data at schema version 8: its atom writes and deletes would leave scenes unmarked. upgrade.sh takes the backup; UPGRADE → Roll back restores it.
git fetch --tags && git checkout v0.5.2
./upgrade.shUpdate amem on the client machines to get the password-shape fix below, which also runs in the client (REMOTE-CLIENTS §4).
What's new
- Scenes record their atoms, and L2 brings stale scenes up to date (#87). A scene is marked stale when one of its atoms is rewritten or deleted (by L1 or through the API), placed in another scene, or rewritten while L2 waited for the model. The next L2 run is told what the scene may still say and what is true now, even when there are no new atoms, and rewrites the scene or answers that it already agrees. A mark it keeps leaving stops being given to it after
memory.l2.staleMaxAttemptsruns (3) and waits for a person; at mostmemory.l2.staleScenesPerRun(10) stale scenes go into one run. Existing scenes get their atoms the next time L2 places atoms in them (DISTILLATION §9). scenario/atomslists a scene's atoms to the user they belong to; other users' are only counted.scenario/lsandscenario/readsay whether a scene is stale, and the Panel's L2 tab shows both (#87).
Fixed
skill/proposal/listaccepts a call withoutagent_id, as documented: a team admin lists the whole team's pending proposals in one call, and each caller still sees only the proposals they may review.skill/proposal/approveandrejectneed onlytask_idandindex(#86).- The
password-shaperedaction rule leaves git revisions of a commit SHA alone (a1b2c3d^1,f433d90~1..f433d90), so a distilled fact keeps the commit it refers to. Revisions of a ref name such asv0.4.3^1are still redacted (#86).
Full changelog: CHANGELOG · v0.5.1...v0.5.2