Skip to content

v3.38.14 β€” memory_store tags cache-loss fix (#3051)

Choose a tag to compare

@ruvnet ruvnet released this 21 Aug 14:31
· 18 commits to main since this release
703e774

Follow-up patch to v3.38.13 β€” fixes the last of the recently-reported issues.

Fix

#3051 β€” memory_store accepted a tags array and returned success: true, but the very next memory_retrieve (or memory_list) came back with tags: [].

Root cause was in bridgeStoreEntry: after the DB insert (which serialized tags correctly to the tags column), the write-through cache set stored only a partial entry β€” { id, key, namespace, content, embedding } β€” with no tags. The next bridgeGetEntry hit that cache and returned tags: cached.tags || [] = [].

Fix: replace the partial write-through with cache invalidation. Next read re-fetches the authoritative row (which correctly parses the tags JSON column) and repopulates the cache with the full shape. Side benefit: same defect had also caused access_count, createdAt, and updatedAt to be stale from the cache β€” invalidation fixes those too.

Proven regression test in __tests__/memory-store-tags-cache-3051.test.ts: pre-fix returns tags: [], post-fix returns the real tags.

Install

  • npx ruflo@latest (or @alpha / @v3alpha β€” all three tags aligned)

Merged PR

Closes #3051 β€” #3079

πŸ€– Generated with RuFlo

https://claude.ai/code/session_0118jMsYhwHD5dx2vStENsEB