DeepBoner / docs /bugs /archive /P3_ARCHITECTURAL_GAP_EPHEMERAL_MEMORY.md
VibecoderMcSwaggins's picture
feat(search): SPEC_13 Evidence Deduplication (#98)
2c5db87 unverified
|
raw
history blame
1.13 kB

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).