Semantic recall can surface archived/dormant memories #3
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cal/cognitive-memory#3
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
recall()inclient.pyfilters out memories belowTHRESHOLD_DORMANT(0.05) in the keyword path, butsemantic_recall()(inembeddings.py) scores all memories in_embeddings.jsonagainst the query vector with no decay filter. Dormant/archived memories can re-appear in the merged results if their semantic similarity is high enough.This is a systemic issue affecting all recall paths, not just auto-edges. However, auto-edges make it more impactful since edges are created silently — an auto-edge to a dormant memory could re-surface it against the decay system's intent.
Proposed Solution
Apply the same
THRESHOLD_DORMANTfilter insemantic_recall()before scoring, or filter the merged results inrecall()after the keyword+semantic merge. The latter is simpler but the former avoids unnecessary computation.Scope
embeddings.py—semantic_recall()needs access to decay state for filteringclient.py— alternatively, post-filter merged results inrecall()Fixed in PR #7: #7
Applied the
THRESHOLD_DORMANTfilter insemantic_recall()before scoring (Option A from the proposal). Loads_state.jsonand skips any memory withdecay_score < 0.05before computing cosine similarity — consistent with the keyword path inrecall()and avoids unnecessary embedding computation for archived entries.