Top Level Memory Definition for pluggable memory in cagent#1490
Open
venkat1701 wants to merge 14 commits intodocker:mainfrom
Open
Top Level Memory Definition for pluggable memory in cagent#1490venkat1701 wants to merge 14 commits intodocker:mainfrom
venkat1701 wants to merge 14 commits intodocker:mainfrom
Conversation
…face for improved readability
Contributor
|
/review |
Contributor
There was a problem hiding this comment.
Code Review Summary
Reviewed the pluggable memory system implementation. Found 1 high-severity issue that needs addressing.
Issues Found
- HIGH: Resource leak - memory drivers are never closed
Note
The SQL query construction using fmt.Sprintf for LIMIT clause is safe since query.Limit is typed as int, not a string.
The redundant conditional check in validate.go (lines 168-172) is a minor code quality issue but doesn't affect correctness.
…with fix in memory driver closing Signed-off by Krish Jaiswal - thejeastdev@gmail.com
Signed off by Krish Jaiswal - thejeastdev@gmail.com
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
Memory strategies are now represented using named, top-level memory scopes (e.g., a long-term sqlite store) that agents reference explicitly, instead of older/implicit memory configuration patterns. This PR updates the memory demo example and the sqlite memory backend plumbing so the strategy-based configuration works cleanly and consistently, and so CI lint/tests pass.
What I did
Added a new driver-based memory subsystem, implemented the initial sqlite backend, wired memory scopes into team loading/runtime:
Before / After
Before
There was no unified “memory scope” model: team loading couldn’t reliably create per-agent memory tools from named memory configurations, and there wasn’t strategy-aware validation for memory backends/configs.
After
Memory is modeled as named scopes with explicit backends/strategies and validated centrally.
Team loading creates memory drivers once, and agents get memory tools based on their referenced scopes.
The existing memory tool behavior is preserved via an adapter, while enabling future backends/strategies beyond sqlite.