Recall — Retrieve Memories
When This Fires
- User types
/recallwith a query - User asks: "what did we work on yesterday?"
- User asks: "what do you know about me?"
- User asks: "what's the status of project X?"
- User asks: "do you remember when we..."
- User references a past session or project
How To Search
Determine what the user is asking for
| Question type | Search where |
|---|---|
| "What do you know about me?" / "What are my preferences?" | ~/.katana/memory/user.md — read and summarize relevant sections |
| "How should you behave?" / "What's your personality?" | ~/.katana/memory/soul.md — read and summarize |
| "What did we work on?" / "Project status?" / "Yesterday?" | ~/.katana/memory/work.md — search entries |
| Unclear or broad | Search all three files |
Search work.md
work.md is organized with entries like:
## 2026-02-22 — katana-agent
Summary of work done...
Filter by project: Look for entries where the project tag matches the user's query.
Example: user asks about "redis" → find all ## YYYY-MM-DD — redis-cache entries.
Filter by date:
- "yesterday" → find entries with yesterday's date
- "last week" → find entries from the last 7 days
- "this month" → entries from current month
- Specific date: "February 15th" → match
2026-02-15
Filter by content: If the user asks about a specific topic ("auth changes", "voice bug"), search the summary text for matching keywords.
Use the filesystem tools available to you:
cat ~/.katana/memory/work.mdto read the full filegrep -i "keyword" ~/.katana/memory/work.mdfor keyword search- Read and filter in context for date/project matching
Return Results
Present matching memories naturally in conversation:
Good:
"Yesterday you worked on the Katana memory system — designed the three-file structure (soul.md, user.md, work.md) and defined the /remember and /recall commands. The day before that, you fixed WebSocket streaming in MAGI3."
Bad:
"Here are 47 search results from your memory files..."
Synthesize. Don't dump raw data. Speak like you actually remember it.
Cross-file recall
Sometimes the user's question spans multiple files:
- "Give me a status update" → read user.md for goals + work.md for recent progress
- "Help me plan today" → read user.md for routines + work.md for what's in progress
- "What should I work on next?" → read work.md recent entries for "Next:" items
If nothing found
If no matching memories exist, say so honestly:
"I don't have any memories about that project yet. Want to tell me about it so I can remember for next time?"