Documentation Pages
Documentation
Memory System
One of the most important things Vigil's agent does is remember. Not every email, and not blindly — the agent actively decides what's worth retaining based on whether it could affect how future emails are understood.
- A recurring pattern that's suddenly broken
- A deadline that keeps getting pushed
- A commitment that was made and never followed up on
This accumulated knowledge is what allows the agent to catch things a stateless system would miss entirely.
How memory works
After processing each email, the agent asks itself whether it learned anything worth keeping. This is a deliberate choice, not an automatic transcript. Rather than storing summaries of emails, the agent stores atomic facts — small, specific pieces of information that stand on their own.
- "Rent payment expected on the 1st of each month"
- "Alice is the primary contact at Acme Corp"
- "User asked to never alert on promotional emails from this sender"
These are things that remain true across many future emails and could change how those emails are interpreted.
Each memory is tagged with an importance level. The most critical memories are hard deadlines, financial obligations, and explicit rules you've set. Lower importance memories hold background context that might occasionally be useful but isn't essential. This weighting shapes how memories are retrieved — critical context is never crowded out by noise.
What gets stored and what doesn't
The agent stores durable facts that genuinely help interpret future emails:
- Upcoming deadlines with specific dates
- Account balances and financial patterns
- Commitments people have made to you
- Recurring payment amounts that should arrive on schedule
- Behavioral rules you've defined
Email bodies are never stored. The content of each email is read, analyzed, and then discarded once the agent has finished processing it. What persists is the agent's own interpretation — a summary, extracted facts, thread status updates. This isn't just a privacy measure; it's by design. The goal is a system that understands your inbox, not one that archives it.
Memory retrieval
When the agent processes a new email, it searches its stored memories for anything relevant to the current context. With a small memory store, it loads everything. As the store grows, it uses a relevance ranking system to surface the most useful facts first:
- The importance score assigned when the memory was created
- How recently it was recorded
Older, lower-importance memories fade naturally in priority as newer information accumulates. Memories that become obsolete — a deadline that has passed, a rule you've since changed — can be marked as such and are excluded from retrieval, keeping the agent's active context clean.
Memory sensitivity
The memory sensitivity setting on each watcher controls how aggressively the agent stores new memories:
- Low — only critical information like hard deadlines and financial data
- Medium — meaningful context without filling memory with trivia (most users find this works well)
- High — a much broader range: names, preferences, recurring patterns, and useful background color
You can adjust this at any time and the change takes effect on the next email the watcher processes.