Temporal Memory Patterns
Use occurrence time, temporal range queries, staleness detection, and budget control for time-aware agent memory.
MuBit tracks two time dimensions for every memory entry: ingestion time (when the system learned it) and occurrence time (when the event actually happened). This distinction is critical for agents that reason about historical events.
Storing events with occurrence time
When ingesting facts about past events, set occurrence_time to record when the event happened. Without it, the system only knows when the fact was ingested.
Querying by time range
Use min_timestamp and max_timestamp to filter evidence to a specific time window. The filter checks occurrence_time first, falling back to ingestion time.
Without temporal bounds, "What happened last week?" uses natural language temporal intent detection and prioritizes entries by occurrence time in the recency ranking.
Handling stale facts
When a newer fact contradicts an older one, MuBit marks the older entry as stale and deprioritizes it in ranking. The staleness metadata is available in evidence responses.
Stale entries are still returned for transparency. The ranking penalty ensures they appear below the current fact. Filter them out in your application if you only want current information.
Budget control for latency-sensitive agents
The budget parameter controls the depth of retrieval. Use "low" for real-time agents and "high" for accuracy-critical offline analysis.
| Budget | Behavior | Typical latency |
|---|---|---|
"low" | Fewer candidates, skip deep traversal | < 500ms |
"mid" | Standard retrieval (default) | 500ms–2s |
"high" | More candidates, deeper graph traversal | 1–5s |
Next steps
- See SDK methods for the full parameter reference.
- Use mental models to store consolidated entity summaries.
- Check staleness detection for handling knowledge updates.