Memory
Three-Layer Memory Stack
Operational, persistent, and dialectic memory — three stores with different latencies and lifecycles.
LISA's memory is a stack of three layers, each answering a different question.
| Layer | Store | Latency | Purpose | Lifecycle |
|---|---|---|---|---|
| Operational | Psychic Cache | <100ms | "What was decided?" — directives, decisions, intel, state changes | TTL-based expiry + manual GC |
| Persistent | Gateway memory (with embeddings) | ~200ms | Long-term knowledge, preferences, summaries | Permanent until deleted |
| Dialectic | Honcho | ~500ms | Autonomous user/AI modelling | Session-scoped, auto-summarised |
Memory taxonomy
Four native types run a three-tier priority system:
| Tier | Type | Priority | Eviction |
|---|---|---|---|
| 1 | Procedural (user / feedback) | Always loaded | Never evicted |
| 2 | Evergreen project | Loaded by relevance | Least-relevant first |
| 3 | Session semantic | Loaded newest-first | Oldest-first |
| 3 | Session episodic | On-demand only | First to evict |
Tier 1 memories shape every interaction and are loaded unconditionally. Tier 2 and Tier 3 are pulled by relevance at context assembly time.
Memory flow
Writes fan out to the layer that matches the fact's lifetime; reads converge through a single context-assembly step that weights every source before it reaches the model.
Every assembly is paired with a feedback call, closing the loop that tunes each source's weight over time — see context feedback.
The layers in detail
- Psychic cache — the operational layer's type system and tag taxonomy.
- Persistent memory — embeddings and the dual-write invariant.
- Honcho dialectic — emergent relationship modelling.
- Compaction survival — surviving a context reset.
- Classification protocol — resolving a topic to a namespace.