-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Source
ChatGPT architecture review feedback
Problem
Multiple memory-like implementations with overlapping responsibilities:
src/cognitive/episodic.rs— episodic memory (past sessions, learnings)src/memory/— vector memory, RAGsrc/session/cache.rs— tool result caching with TTLsrc/session/local_first.rs— response caching, offline supportsrc/analysis/vector_store.rs— vector store for code search
This matters because the "local-first, durable, self-improving workshop" story depends on memory being coherent, not fragmented across 5 subsystems.
Proposal
-
Define one
MemoryStoretrait with clear semantics:store(key, value, metadata)retrieve(query, top_k)(semantic search)get(key)(exact lookup)invalidate(key)/expire()
-
Provide multiple backends behind the trait:
JsonMemory— simple JSON file store (current episodic)VectorMemory— HNSW-backed semantic search (current vector_store)CacheMemory— TTL-based with LRU eviction (current cache.rs)
-
Document retention and deletion policies clearly
-
Single entry point:
agent.memory.store()/agent.memory.search()
Relevant Code
src/cognitive/episodic.rssrc/memory/src/session/cache.rssrc/session/local_first.rssrc/analysis/vector_store.rs
Priority
P1 — architectural clarity
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request