zara-memory: bind native symbolic-memory remember/get #473

Open
nsaspy wants to merge 9 commits from rage/7-symbolic-memory-native-remember-get into main
Owner

Advances #7 using the native capabilities now present in lost-rob0t/symbolic-memory.

Slice

  • bounded stateless MCP 2026-07-28 adapter for native memory_remember / memory_get
  • fixed argv execution, bounded timeout, no shell interpolation
  • host-bound principal/session/project/capabilities; model tool arguments cannot grant authority
  • ambient environment reduced to a small allowlist so unrelated secrets are not inherited by the child
  • memory.remember uses Zara Core canonical zara_requires_approval=true
  • memory.get preserves backend provenance/lifecycle evidence
  • current native scopes are explicitly session, project, global; user/machine are not remapped
  • mutable database paths under /nix/store are rejected
  • missing executable/backend degrades honestly

Deliberately not claimed

Current symbolic-memory still defers recall/search/forget, projection reasoning, and other #7 acceptance work. This PR does not recreate those features or close #7.

TDD

RED-first native MCP and service-boundary tests use deterministic fakes; no network/live memory service is required.

Advances #7 using the native capabilities now present in `lost-rob0t/symbolic-memory`. ## Slice - bounded stateless MCP 2026-07-28 adapter for native `memory_remember` / `memory_get` - fixed argv execution, bounded timeout, no shell interpolation - host-bound principal/session/project/capabilities; model tool arguments cannot grant authority - ambient environment reduced to a small allowlist so unrelated secrets are not inherited by the child - `memory.remember` uses Zara Core canonical `zara_requires_approval=true` - `memory.get` preserves backend provenance/lifecycle evidence - current native scopes are explicitly `session`, `project`, `global`; `user`/`machine` are not remapped - mutable database paths under `/nix/store` are rejected - missing executable/backend degrades honestly ## Deliberately not claimed Current symbolic-memory still defers recall/search/forget, projection reasoning, and other #7 acceptance work. This PR does not recreate those features or close #7. ## TDD RED-first native MCP and service-boundary tests use deterministic fakes; no network/live memory service is required.
Some checks failed
CI / test (pull_request) Failing after 21s
This pull request has changes conflicting with the target branch.
  • plugins/zara-memory/lib/zara_memory/symbolic_memory_mcp.py
  • plugins/zara-memory/test/test_symbolic_memory_mcp.py
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin rage/7-symbolic-memory-native-remember-get:rage/7-symbolic-memory-native-remember-get
git switch rage/7-symbolic-memory-native-remember-get

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff rage/7-symbolic-memory-native-remember-get
git switch rage/7-symbolic-memory-native-remember-get
git rebase main
git switch main
git merge --ff-only rage/7-symbolic-memory-native-remember-get
git switch rage/7-symbolic-memory-native-remember-get
git rebase main
git switch main
git merge --no-ff rage/7-symbolic-memory-native-remember-get
git switch main
git merge --squash rage/7-symbolic-memory-native-remember-get
git switch main
git merge --ff-only rage/7-symbolic-memory-native-remember-get
git switch main
git merge rage/7-symbolic-memory-native-remember-get
git push origin main
Sign in to join this conversation.
No description provided.