# P3: Ephemeral Memory Architecture (No Persistence) **Status:** OPEN **Priority:** P3 (Feature/Architecture Gap) **Found By:** Codebase Investigation **Date:** 2025-11-29 ## Description The current `EmbeddingService` (`src/services/embeddings.py`) initializes an **in-memory** ChromaDB client (`chromadb.Client()`) and creates a random UUID-based collection for every new session. While `src/utils/config.py` defines a `chroma_db_path` for persistence, it is currently **ignored**. ## Impact 1. **No Long-Term Learning:** The agent cannot "remember" research from previous runs. Every time you restart the app, it starts from zero. 2. **Redundant Costs:** If a user researches "Diabetes" twice, the agent re-searches and re-embeds the same papers, wasting tokens and compute time. ## Technical Details - **Current:** `self._client = chromadb.Client()` (In-Memory) - **Required:** `self._client = chromadb.PersistentClient(path=settings.chroma_db_path)` ## Recommendation For a "Hackathon Demo," this is **low priority** (ephemeral is fine). For a "Real Product," this is **critical** (users expect a library of research).