Summary
We have strong system-level rollback today (switch plugins.slots.memory), but we lack a dataset-level versioning safety net for the openclaw-mem-engine LanceDB dataset.
This issue proposes an M3 v0 implementation: filesystem snapshots + manifest with operator-grade commands to create/list/checkout/delete snapshots (tagged).
Spec
- Draft spec committed:
docs/specs/mem-engine-versioning-safety-net-v0.md
- Commit: 7a06818
Goals (v0)
- Snapshot LanceDB
dbPath before risky behavior/data changes (auto-capture rule changes, regrading, mass writeback, reindex/optimize)
- Deterministic, bounded receipts (no raw memory text)
- Safe defaults: tag validation + path traversal prevention + fail-closed for destructive ops
Acceptance checklist
- Create snapshot + manifest + receipt
- List snapshots deterministically
- Checkout switches engine dbPath to a snapshot and remains functional
- One-screen rollback instructions
- Tests: tag validation + traversal prevention
Notes
Implementation preference: python CLI in openclaw-mem for filesystem ops; engine config update via openclaw config set (optional) + gateway restart as explicit step.}
Summary
We have strong system-level rollback today (switch
plugins.slots.memory), but we lack a dataset-level versioning safety net for theopenclaw-mem-engineLanceDB dataset.This issue proposes an M3 v0 implementation: filesystem snapshots + manifest with operator-grade commands to
create/list/checkout/deletesnapshots (tagged).Spec
docs/specs/mem-engine-versioning-safety-net-v0.mdGoals (v0)
dbPathbefore risky behavior/data changes (auto-capture rule changes, regrading, mass writeback, reindex/optimize)Acceptance checklist
Notes
Implementation preference: python CLI in
openclaw-memfor filesystem ops; engine config update viaopenclaw config set(optional) + gateway restart as explicit step.}