Working memory
The current session scratchpad. Entries live in-memory and are written to SQLite for durability. Fast writes, no vector indexing overhead.Episodic memory
The event timeline. Every working memory entry becomes an episodic record when flushed. Stored in SQLite with a ChromaDB vector index for semantic search. Episodic records carry:content— the original textagent_id— which agent stored itsession_id— which session it came fromtimestamp— when it was storedimportance— float score (0.0–1.0), influences retrieval ranking
Semantic memory
The knowledge graph. Facts stored as subject–predicate–object triples. Deduplicated automatically — storing the same fact twice has no effect.FactRelation values
| Relation | Description |
|---|---|
PREFERS | Subject has a preference for the object |
DISLIKES | Subject dislikes the object |
IS | Subject is the object (identity) |
IS_A | Subject is a member of class object (taxonomy) |
HAS | Subject has the object as a property or possession |
HAS_PROPERTY | Subject has a specific property or attribute |
KNOWS | Subject is familiar with the object |
USES | Subject uses or employs the object |
WORKS_ON | Subject is working on or assigned to the object |
LOCATED_IN | Subject is located at or in the object |
BELONGS_TO | Subject is a member or part of the object |
RELATED_TO | Subject is related to the object (general) |
REQUIRES | Subject requires the object as a dependency |
LEARNED_FROM | Subject learned something from the object |
CUSTOM | Custom user-defined relation |
Layer storage
| Layer | Structured store | Vector index |
|---|---|---|
| Working | SQLite (in-memory first) | None |
| Episodic | SQLite | ChromaDB |
| Semantic | SQLite | ChromaDB |