Home / Product / Memory Governor
Self-improving memory with change control.
Every memory change is proposed, validated, versioned, and audited, never silently overwritten.
The risk
Remembering more can mean trusting less.
Generic memory stores first and asks questions later. Lians treats every memory change as a governed decision.
The Lians approach
Every update becomes a governed proposal.
conversation / document / tool output → candidate memories → governor decisions → policy gates → audit commit → explainable recall
Governed by design
Memory with a control plane.
Learned facts start as proposals: pull requests for memory, not silent mutations.
Ask what an agent knew at a point in time, not only what it knows now.
Close stale validity windows so revised facts don't pollute current context.
Commit every change through an append-only, tamper-evident event trail.
Rules run before changes commit; suspicious facts stay out of recall until reviewed.
See why a fact was returned, what it superseded, and what was suppressed.
Not generic memory
Remembering is not governing.
| Generic memory | Lians Memory Governor |
|---|---|
| add / search / update / delete | propose / commit / audit / recall_at |
| silent updates | memory PRs |
| current memory only | point-in-time recall |
| stale facts can leak | supersession suppression |
| hard to explain | explainable recall |
| little governance | policy gates and quarantine |
The review API
Confirm or reject, with an audit trail.
# What is waiting for a human decision? GET /v1/supersessions/review # → flagged events: relation (SUPERSEDES | REFINES | …), confidence, rationale # The engine got it right: accept the supersession. PATCH /v1/supersessions/{memory_id} {"action": "confirm", "reviewer_note": "guidance revision verified"} # The engine got it wrong: restore the old fact as currently valid. PATCH /v1/supersessions/{memory_id} {"action": "reject"} # Writes held by admission control (PII / PHI / MNPI / injection / vagueness): GET /v1/admissions?status=pending POST /v1/admissions/{id}/resolve {"action": "approve" | "reject"}