Merge pull request 'fix: filter archived/dormant memories from semantic_recall() (#3)' (#7) from ai/cognitive-memory-3 into main

Reviewed-on: #7
This commit is contained in:
cal 2026-03-03 16:57:44 +00:00
commit 4784bc75b4

View File

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