Skip to main content

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

TypeSourceDescription
Storestore.goInterface for memory persistence (episodic, semantic, procedural)
CompositeStorestore.goMulti-backend store aggregating multiple Store implementations
Episodetypes.goRecord of a single agent action/event with metadata
EpisodeFiltertypes.goQuery filter for episodes (limit, time range, type)
Facttypes.goSemantic fact with embedding, namespace, freshness tracking
Proceduretypes.goNamed procedural memory for reusable action sequences
MemoryReftypes.goReference to memory items across types
MemoryStatetypes.goFull in-context memory snapshot
SalienceWeightssalience.goWeights for retrieval ranking (relevance, recency, confidence, usage, freshness)
SalienceScorersalience.goScorer computing multi-factor salience for fact retrieval
DecayProfiledecay.goProfile controlling freshness decay over time
Policypolicy.goMemory management policy (store types, retention, limits)

Store Implementations

ImplementationFileBackend
PostgresStorepostgres_store.goPostgreSQL (semantic + procedural)
RedisStoreredis_store.goRedis/Dragonfly (episodic with TTL)
InMemoryStoreinmemory_store.goIn-memory (testing)