Background intelligence
What Nowledge Mem does while you are not using it, and the guardrails that keep it from wasting resources.
Most of what makes Mem useful happens in the background. Entity extraction, EVOLVES detection, contradiction flagging, Crystal synthesis, Working Memory updates — these run without you doing anything. You save a memory or import a thread, and the system takes it from there.
This page explains what runs, when it runs, and what keeps it from going off the rails.
Two kinds of triggers
Background tasks fall into two categories based on what starts them.
Scheduled tasks
These run on a clock, regardless of what you did today.
- Daily briefing — runs early morning. Reviews recent activity, generates insights, flags contradictions, and writes a fresh Working Memory file at
~/ai-now/memory.md. This is what connected agents (Claude Code, Cursor, etc.) read when they check your context. - Crystallization review — runs weekly. Looks for clusters of related memories that could be synthesized into a Crystal.
- Insight detection — runs weekly. Searches for cross-domain connections and patterns across your knowledge base.
- Memory compaction — runs weekly. Identifies low-value clusters that could be consolidated.
- Community detection — runs periodically. Rebuilds the entity graph's community structure for community-based search.
- Decay refresh — runs daily. Recalculates decay and confidence scores for all memories.
Event-driven tasks
These fire in response to something you did, after a short delay.
- EVOLVES detection — triggered when you save a new memory. The system checks whether it replaces, enriches, confirms, or challenges something you already know. See knowledge evolution.
- Entity extraction — triggered alongside EVOLVES detection. Extracts entities and relationships for the knowledge graph.
- Working Memory refresh — triggered when new memories arrive. Updates your daily working memory file with the new context, so connected agents see it quickly.
- Cluster evaluation — triggered after EVOLVES edges are created. Checks whether a new cluster has reached the threshold for Crystal formation.
The cascade
These are not independent. A single action can trigger a chain:
You save a memory → EVOLVES detection runs → finds a "confirms" link to an older memory → cluster evaluation fires → discovers three related memories now form a strong enough cluster → a Crystal is created.
Each step in the cascade has its own delay, so the system batches work rather than reacting to every individual event instantly. If you save five memories in quick succession, the system processes them together rather than running five separate analysis passes.
Guardrails
Background intelligence burns LLM tokens. Without limits, a burst of activity could drain your token budget or produce low-quality results from rushing through too many tasks. Four layers prevent this.
Debouncing. Event-driven tasks wait before executing. If another event of the same type arrives during the wait, the timer resets. This batches rapid-fire events (like importing a conversation with many messages) into a single analysis pass.
Rate limiting. A maximum number of LLM-powered tasks can run per hour. If the queue exceeds this, tasks are delayed rather than dropped.
Token budget. You can set hourly and daily token limits. When the budget runs out, the system pauses LLM tasks until the next period. Direct-function tasks (like decay refresh and community detection) are not affected because they do not use LLM calls.
Quality gates. The system suppresses low-value output. If a daily briefing produces zero insights, zero Crystals, and zero flags, it stays silent rather than generating a "nothing to report" card. Insight detection checks against the last two weeks of previous insights to avoid duplicates. Crystal formation requires three or more converging sources before creating anything.
Context injection
Each background task receives pre-computed context before it starts. The daily briefing, for instance, gets a digest of the past week's activity, yesterday's Working Memory, graph statistics, and recent resolution patterns. This avoids expensive LLM discovery steps and keeps each task focused.
Context is capped to prevent prompt bloat. If the pre-computed context exceeds the cap, lower-priority sections are trimmed first.
Working Memory
Working Memory is the daily briefing's most visible output. Every morning, the system archives yesterday's working memory and writes a fresh one based on recent activity.
The file lives at ~/ai-now/memory.md. Any MCP-connected agent can read it. This is how Claude Code, Cursor, Codex, and other tools know what you have been working on and what decisions you have made recently.
Working Memory also updates during the day. When you save new memories, the system refreshes the file (after a longer delay than other event-driven tasks, since it is more expensive to run). You can also edit it manually.
Settings
Every background task has its own toggle. You can turn off EVOLVES detection while keeping the daily briefing, or disable insight detection while keeping entity extraction. The master toggle disables everything at once.
Token budgets and scheduling (briefing hour, community detection interval) are also configurable. Background Intelligence requires a remote LLM to be configured, since the tasks run on your machine and need a model to reason with.
Next steps
- Memory decay covers the decay refresh task and how scores are calculated
- Knowledge evolution explains EVOLVES detection in detail
- Crystals explains crystallization review and what triggers Crystal creation