Memory · Episodic
Agents remember what they did.
Every session captured with goal, outcome, valence, source. Eleven event types, four emotional valences, full provenance — the autobiography of your agent, queryable across time.
What's captured
A complete record, with structure.
An episode is more than a vector. It carries time, participants, emotional valence, source attribution, and an importance score — the metadata that makes recall meaningful.
Bi-temporal
Both when it happened and when you learned about it. Time-travel any query.
11 event types
Observation · Action · Reflection · Decision · Interaction · Error · Discovery · Insight · Plan · Outcome · Meta.
Source monitoring
Observed · inferred · imagined · reported · reconstructed. Always know how a memory entered the system.
Emotional valence
Positive · negative · neutral · mixed. Surfaces what mattered and what didn't.
Importance scoring
Computed from novelty + outcome + downstream impact. Low-importance memories decay; high-importance ones consolidate.
Auditable forgetting
Every deletion is justified, signed, and tamper-evident. GDPR delete-receipts cryptographically verified.
API
Write an episode in three lines.
The episodic API mirrors the conceptual model — `record()` writes, `recall()` queries, `decay()` ages, `consolidate()` promotes patterns into procedural memory.
record · recall · consolidatetypescript
import { Minds } from "@minds-sdk/typescript";
const minds = new Minds({ apiKey: process.env.MINDS_KEY });
// Record an episode
await minds.memory.episodic.record({
agent: "alpha",
scope: "Research",
event: "decision",
text: "Chose to investigate Q3 anomaly via channel-mix analysis",
participants: ["alice@l1fe.ai", "alpha"],
valence: "neutral",
importance: 0.78,
source: "inferred",
validAt: "2026-10-01T14:22:00Z",
});
// Recall — filter by agent, time window, valence, source
const events = await minds.memory.episodic.recall({
agent: "alpha",
scope: "Research",
timepoint: "2026-10-01",
source: ["observed", "inferred"],
topK: 20,
});
// Consolidate — promote recurring patterns to procedural memory
const routines = await minds.memory.episodic.consolidate({
agent: "alpha",
minOccurrences: 3,
});Specs
What it costs, what it guarantees.
Limits
- Capacity per agent
- ~100M episodes / 1TB
- Episode write latency
- <3ms P99
- Filtered recall (topK=20)
- <12ms P99
- Concurrent writers
- 100K+
- Compression
- Zstd · ~40% on-disk savings
Guarantees
- Durability
- fsync per WAL commit
- Isolation
- snapshot · MVCC
- Audit
- BLAKE3 chain, Merkle-anchored
- Encryption
- AES-256-GCM per-namespace
- Source attribution
- 5 levels, immutable