Concepts
Temporal Memory
Timeline, time-aware nodes, and how to reason about "when"
Temporal memory
HyperMemory provides two layers of temporal awareness: timestamps on graph objects and a dedicated timeline system.
Node and edge timestamps
Every node and edge carries creation and update metadata, stored in SurrealDB with automatic tracking.
Timeline system
HyperMemory includes a timeline backed by PostgreSQL (separate from SurrealDB and Qdrant).
Auto-logging
Meaningful tool calls automatically produce human-readable diary entries in the timeline. Bootstrap tools (hm_get_overview, hm_list_files, etc.) are skipped — only substantive operations are logged.
Explicit writes
Use hm_timeline_write to record decisions, milestones, or events explicitly:
{
"entry": "Decided to migrate from REST to GraphQL for the public API"
}
Temporal recall
Use hm_timeline to search the timeline with filters:
| Filter | Description |
|---|---|
query | Full-text search (PostgreSQL tsvector) |
period | Time period filter (e.g. “last week”, “this month”) |
date_range | Specific start/end dates |
node_key | Filter entries related to a specific node |
The timeline is not loaded automatically — it is only recalled on explicit request via hm_timeline. This keeps normal recall fast and focused on the graph.
Freshness as an agent policy
- Before trusting a long-lived fact, the agent can check when it was last updated and compare to the current time.
- For compliance-grade answers, use document nodes and human-approved sources rather than a single description that might drift.