Repository navigation
Conversation
🦋 Changeset detectedLatest commit: ec2d35d The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (4)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe embedding cache now keys entries by full input text. New tests cover cache operations and verify distinct embeddings through single-message and batch semantic-search saves. ChangesEmbedding cache identity
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The cache-key correction appears ready to merge after normal checks, with no actionable risk identified. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The correction prevents different texts from reusing the wrong embedding. Complete input text can now remain in memory after expiry or deletion, however; the significance depends on the application's sensitive-data retention requirements. Retained concerns
Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Checklist
Bugs / Features
@voltagent/core.What is the current behavior?
The embedding cache uses a 32-bit hash plus input length. Distinct texts such as
AaandBBshare a key, so a cached embedding can be returned for the wrong input. Batch processing then treats unseen text as cached, and semantic search returns incorrect matches.What is the new behavior?
Use the full input text as the cache key. Preserve the existing TTL and LRU behavior, including eviction of an empty-string key. Add single/batch cache regressions and public
Memorysemantic-search coverage.Notes for reviewers
Summary by cubic
Fixes embedding cache collisions in
@voltagent/coreso distinct texts can no longer return each other's cached embeddings.Memorysemantic-search coverage.@voltagent/coregets a patch changeset.Written for commit ec2d35d. Summary will update on new commits.
Summary by CodeRabbit