What's New
feat(milvus): last_accessed tracking via _access side-collection (PR #925, @henry201605)
Implements proper access-time tracking for the Milvus backend using a lightweight side-collection pattern.
What this fixes:
- Forgetting engine
access_boost— was always falling back toupdated_atbecause no access timestamps existed; now correctly reads from_accesscollection count_all_memories(stale_days=N)—stale_daysfilter was silently ignored on Milvus; now properly excludes recently-accessed memoriesmemory_quality(action="maintain")stale detection — stale classification now uses actual last-access time
Implementation details:
- A
{collection_name}_accessside-collection stores retrieve-hit timestamps _touch_access()is fire-and-forget viaasyncio.create_task(non-blocking — zero latency impact on retrieval)- Graceful degradation if the
_accesscollection is unavailable (existing behavior preserved)
Closes #923.
Full Changelog
See CHANGELOG.md for the complete entry.
Special Thanks
Thank you to @henry201605 for the continued Milvus backend improvements across multiple releases.