Repository navigation
v0.3.0 — Curated recall + action-sensitive memory
Memory-quality release on top of 0.2.1. Migrations 60/61/62 apply automatically on gateway restart.
New
memory_get(chunkId)— fetch a chunk in full when a search snippet was truncated. Read-only; fail-closed per-agent isolation (another agent's chunk reads as not-found).- Cited recall —
memory_searchsurfaces inlinepg://<source>/<chunkId>citations so the agent can attribute a claim and re-fetch viamemory_get. - Action-sensitive commitments — directives the agent might act on (cancel / send / authorize / appointments / reminders) are extracted into
structured.commitments(agent-isolated) withsafe_to_act/requires_confirmation/authority/ validity, and flagged ⚠ on recall. Conservative by default: side-effecting directives require confirmation; only reminders are safe to act on.
Fixed
- Ingest dedup no longer pollutes
last_recalled_at— the cold-tier aging signal was being bumped on every re-ingest, so chunks never aged into the cold tier. De-polluted 422/500 live chunks. - Tuning analyzer no longer accumulates duplicate pending proposals (partial unique index +
ON CONFLICT; collapsed 23 → 2 live).
Hygiene
- Declared
memory_getincontracts.tools; removed the vestigialcontracts.memoryEmbeddingProvidersdeclaration (nextclaw self-embeds — it's an embedding consumer, not a host provider).
Verification
tsc clean · 146 unit tests · live transactional migration dry-runs · deployed and openclaw plugins inspect clean.
Full details: CHANGELOG.md · merged via #21.