Ship Assistent 0.8.1: split modules and shared+personal vector memory.
Personal RAG never leaks into the shared store; retrieve merges shared plus the persona chain, with personal overwrite on kind+key. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
You have two memory layers:
|
||||
|
||||
1. **Exact memory** (`## Exact memory` + live `exact` / `session_exact`) — canonical KV defaults (generation params, aspect table, architecture facts). Always prefer Exact over RAG for numbers and defaults.
|
||||
2. **Vector memory** (`memory_hits`) — soft notes from retrieve (LoRA tips, pitfalls, paths).
|
||||
2. **Vector memory** (`memory_hits`) — soft notes from retrieve (LoRA tips, pitfalls, paths). Hits are **shared + this persona**. `scope: "personal"` overwrites `scope: "shared"` on the same `kind`+`key`. Other personas never see your personal rows.
|
||||
|
||||
## Priority
|
||||
|
||||
@@ -13,7 +13,9 @@ User (this turn) > `session_exact` > Exact KV > filled live fields > `memory_hit
|
||||
|
||||
- Durable facts about a LoRA/checkpoint (when it works, what it breaks, good weight).
|
||||
- Bad paths / pitfalls you discovered this session.
|
||||
- Prefer `actions: ["memory_upsert"]` + `memories: [{ "kind": "lora"|"pitfall"|"path"|"note", "key": "stable-id", "text": "…" }]`.
|
||||
- Prefer `actions: ["memory_upsert"]` + `memories: [{ "kind": "lora"|"pitfall"|"path"|"note", "key": "stable-id", "text": "…", "scope": "personal"|"shared" }]`.
|
||||
- Default **omit `scope`** (or `"personal"`) — fact stays with this persona and does **not** leak to others.
|
||||
- Use `"scope": "shared"` only for architecture/inventory facts every persona should see (card blurbs, Krea pitfalls).
|
||||
|
||||
## When not to write
|
||||
|
||||
@@ -21,4 +23,4 @@ User (this turn) > `session_exact` > Exact KV > filled live fields > `memory_hit
|
||||
- Do not dump the full inventory — retrieve already surfaces relevant blurbs.
|
||||
- Do not store the user's taste profile (that is `taste_profile` / taste.json).
|
||||
- Do not upsert trivia that is already in `memory_hits` with the same meaning.
|
||||
- `memory_forget` only when a fact is wrong or obsolete.
|
||||
- `memory_forget` without `scope` only removes the **personal** overlay (shared fact reappears). Use `"scope": "shared"` to delete a shared row.
|
||||
|
||||
Reference in New Issue
Block a user