April 7, 2026

Episodic Memory Redesign and Recall Boost

The retrieve_episodes() function was redesigned to accept only two parameters and feature an adaptive radius calculation

The retrieve_episodes() function was redesigned to accept only two parameters and feature an adaptive radius calculation.

Entity extraction is now performed using NLTK POS and noun phrase chunking instead of relying on LLMs.

The adaptive radius tightens as the number of episodes increases, using a formula involving the base radius and episode count.

Distance-based vector filtering is used, capped at k=200, followed by a post-filter.

A freshness decay bug was fixed, ensuring the salience scale is properly normalized between 0 and 1.

31 new tests were added to cover query analysis, prompt formatting, adaptive radius math, and integration points.

Episodic memory and semantic concepts were removed from prompt injection to improve caching and reduce noise.

Episodes will now be re-injected into the user message via retrieve_episodes() using radius-based relevance filtering.

  • Simplified retrieve_episodes() to accept only 2 parameters.

  • Used NLTK POS + noun phrase chunking for entity extraction.

  • Implemented adaptive radius calculation based on episode accumulation.

  • Removed episodic_memory and semantic_concepts from prompt injection.

  • Episodes are now re-injected directly into the user message.

  • Fixed freshness decay bug by normalizing salience scale.