Distill Memory
Save proactively when the conversation produces a durable fact, preference, decision, plan, procedure, learning, event, or important context. Do not wait to be asked.
When to Distill
Decision with rationale: Compared options, chose with reasoning, trade-off resolved.
Repeatable procedure: Step-by-step workflow the user will need again.
Lesson from debugging: Root cause found, unexpected behavior explained, prevention identified.
Durable preference: Coding style, tooling choice, naming convention, architectural stance.
Plan for future sessions: Agreed next steps, phased approach, deferred work items.
Skip: Routine fixes, work in progress, simple Q&A, generic information.
Usage
Valid Unit Types
fact, preference, decision, plan, procedure, learning, context, event
Importance Scale (Descending)
Examples
Add vs Update
Search first to avoid duplicates. If a memory already captures the same concept and the new information refines it, update instead of creating a new entry:
One strong memory is better than three weak ones.
At the end of a substantial task, explicitly review whether one durable memory should be added or updated.
Memory Quality
Good (atomic, actionable):
- "React hooks cleanup must return a function. Caused memory leaks in event listeners."
- "PostgreSQL over MongoDB: ACID needed for transaction integrity."
Poor: Vague "fixed some bugs", conversation transcript dumps, overly broad summaries.
When to Skip
Do not distill routine work. If the user wouldn't miss it when it's gone, it shouldn't exist. Quality over quantity: 1-3 distilled memories per session is typical.

