memory
Multi-backend memory system providing episodic (event log), semantic (vector-indexed facts), and procedural (named action sequences) storage. Includes salience scoring for retrieval ranking, freshness decay, and interference detection.
Used by cmd/worker, cmd/run, cmd/seed-registry.
Usage
import "cruvero/internal/memory"
Key Types / Interfaces
| Type | Source | Description |
|---|---|---|
Store | store.go | Interface for memory persistence (episodic, semantic, procedural) |
CompositeStore | store.go | Multi-backend store aggregating multiple Store implementations |
Episode | types.go | Record of a single agent action/event with metadata |
EpisodeFilter | types.go | Query filter for episodes (limit, time range, type) |
Fact | types.go | Semantic fact with embedding, namespace, freshness tracking |
Procedure | types.go | Named procedural memory for reusable action sequences |
MemoryRef | types.go | Reference to memory items across types |
MemoryState | types.go | Full in-context memory snapshot |
SalienceWeights | salience.go | Weights for retrieval ranking (relevance, recency, confidence, usage, freshness) |
SalienceScorer | salience.go | Scorer computing multi-factor salience for fact retrieval |
DecayProfile | decay.go | Profile controlling freshness decay over time |
Policy | policy.go | Memory management policy (store types, retention, limits) |
Store Implementations
| Implementation | File | Backend |
|---|---|---|
PostgresStore | postgres_store.go | PostgreSQL (semantic + procedural) |
RedisStore | redis_store.go | Redis/Dragonfly (episodic with TTL) |
InMemoryStore | inmemory_store.go | In-memory (testing) |