Top Level Memory Definition for pluggable memory in cagent #1490
+1,033
−6
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.