feat:Add local personal memory#808
Open
alecuba16 wants to merge 1 commit into
Open
Conversation
bbcfd23 to
b9a41db
Compare
Owner
|
Thanks for splitting the local personal memory work out from #761. Triage: high-caution local-memory enhancement. This is a better review shape than the combined workflow PR, but it still needs a security/privacy pass: local-only storage boundaries, delete semantics, |
b9a41db to
44060c4
Compare
Author
|
Thanks for the review. I updated the PR with a security/privacy pass and kept it scoped to the memory feature. What changed:
I also adjusted the default behavior to avoid changing existing installs:
Validation:
I squashed it back to one commit: |
cfa69f3 to
86dcd5f
Compare
Signed-off-by: Alejandro Blanco-M <alecuba16@gmail.com>
86dcd5f to
0253e9d
Compare
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.
This pull request adds a local personal memory system for codebase notes, decisions, and learnings. It is intentionally separated from the fork release workflow work so this PR only contains the personal-memory feature.
This replaces the closed broad PR #761 with the workflow option removed, and addresses the security review note from #761 (comment).
Personal memory
The main addition is a per-repo personal memory that lives outside the repository, in the user's local data directory. The goal is to let an agent or developer store notes, decisions, and learnings about a codebase without writing files into the source repository or pushing that context upstream.
A new MCP tool called
manage_memoryis exposed with these modes:getupdatesectionssettingsbootstrapdeletelistpromotesyncmanage_adralso gains an optionalscopeparameter so it can target either project-scoped ADRs, which remains the default for compatibility, or personal memory.The memory directory, default scope, and enablement are configurable. A new platform helper,
cbm_resolve_memory_dir, resolves the correct local user-data path for each operating system.Security and local-only behavior
After the review comment on #761, I added a focused security hardening pass in commit
5f0f4b6:0700permissions on POSIX systems.0700when opened for writes.manage_memory(settings)redacts local filesystem paths by default.reveal_paths=true.deleteis now idempotent, returnsnot_foundwhen appropriate, and no longer creates a DB just to delete from it.promoteandsyncare local copy operations only. Responses now explicitly reportlocal_onlyandnetwork_sync=disabled.Nothing in this feature uploads personal memory to the repository, remotes, package registries, or external services. Storage is local SQLite under the resolved personal memory directory.
Other changes
manage_memoryand personal scope inmanage_adr.cbm_setenv/cbm_unsetenvhelper was added for Windows-compatible tests.Validation
mainat09148ab.make -f Makefile.cbm testpasses locally:5766 passed.