fix: filter archived/dormant memories from semantic_recall() (#3) #7

Merged
cal merged 1 commits from ai/cognitive-memory-3 into main 2026-03-03 16:57:46 +00:00
Showing only changes of commit 5ce9363bcb - Show all commits

View File

@ -13,6 +13,7 @@ from typing import Any, Dict, List, Optional, Tuple
from common import (
EMBEDDING_MODEL,
OPENAI_MODEL_DEFAULT,
THRESHOLD_DORMANT,
_cosine_similarity,
_load_memory_config,
_ollama_embed,
@ -207,10 +208,14 @@ class EmbeddingsMixin:
query_dim = len(query_vec)
# Score all memories by cosine similarity
# Score all memories by cosine similarity, skipping archived/dormant
index = self._load_index()
state = self._load_state()
scored = []
for mid, vec in stored.items():
s = state.get("entries", {}).get(mid, {})
if s.get("decay_score", 0.5) < THRESHOLD_DORMANT:
continue
# Skip dimension mismatch
if len(vec) != query_dim:
continue