fix(memory): exclude archived nodes from associative recall 🤖🤖🤖 - #275
fix(memory): exclude archived nodes from associative recall 🤖🤖🤖#275Sampoornnagpal wants to merge 2 commits into
Conversation
Signed-off-by: Sampoorn Nagpal <nagpalsampoorn@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughRetrieval now excludes archived memories from recall and associative spreading. Tests cover unrestricted and owner-filtered retrieval, explanations, access updates, and archived bridge memories. ChangesArchived Memory Retrieval
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Archived memories are excluded from recall results and traversal propagation, with regression coverage for archived results and bridge nodes. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Signed-off-by: Sampoorn Nagpal <nagpalsampoorn@gmail.com>
What does this PR do?
An archived memory can reappear in associative recall and receive another access entry. It can also relay activation to other memories through a multi-hop path. Check that each graph target exists, is active, and matches the requested owner scope before adding it to the next frontier.
Add regressions for archived results and archived bridges, both with and without an owner filter. The four regression cases fail before the fix.
Related issues
No matching open issue found.
Validation
uv run pytest -q packages/nooa-memory/tests/memory/test_memory_retrieval.py packages/nooa-memory/tests/memory/test_memory_owner.py packages/nooa-memory/tests/memory/test_memory_owner_roles.py— 33 passed.Validated on Windows/Python 3.12 with external import-only compatibility helpers for the existing
fcntlandSIGUSR2blockers (#84/#85). The helpers are not included in this PR and do not validate POSIX locking or signals. No live model calls were used.Checklist
Summary by CodeRabbit