[ docs · concepts ]
Verified-outcome memory
Grist remembers — but only what was proven. A lesson enters memory when its outcome is verified: the tests passed, you approved the work, or you corrected it. Everything else is forgotten on purpose.
Why verified only
An agent that remembers everything remembers its mistakes with the same confidence as its wins, and poisons future sessions with confident nonsense. Grist's rule is stricter: memory is a record of verified outcomes, not a transcript. What a session merely claimed is never stored. What it proved is.
The outcome kinds
| Outcome | Meaning |
|---|---|
tests_passed | The change was verified by the project's own checks. |
user_approved | You reviewed the work and approved it. |
user_corrected | You fixed the agent's work — the correction itself is the lesson, and it's weighted heavily. |
check_failed | A cautionary record: this approach failed its check, so the next run doesn't repeat it. |
How it behaves
- Failures are mined, not just logged. Repeated failure signatures and terminal check failures are distilled into cautionary memories automatically.
- Recall is scoped. A session is briefed from its project's memory — your repos don't leak lessons into each other.
- Memories decay. Older, weaker records fade unless re-verified; fresh proof outweighs stale habit.
- Curated mechanically. The Dreaming pass merges duplicates, archives the stale, and retires traps that newer successes have disproven. There is no human curation queue — the policy is mechanical, and every change lands in a Git-auditable memory repo, so a person can audit the trail after the fact.
- A restricted tier is walled off. Records marked restricted are never auto-curated, merged, or archived — the curation loop cannot touch them.
Where it lives
By default, memory is a file in the project (.grist/memory.json) — plain JSON you can read, diff, and commit. Teams can run the shared store so a whole team's verified outcomes brief every member's sessions. The desktop app ships a memory browser: search what Grist remembers about a project, and forget any record with one click.
Memory never updates model weights. It is retrieval plus feedback — which is exactly why you can inspect it, correct it, and delete it.