Memories
Tell every AI you use once. Short private notes that any AI you connect can read — and that you approve before they are kept.
A Memory is one short note you want every AI to know: how you like answers, a decision that stands, a fact about your work. It is a sentence or two, written so it makes sense on its own. Memories are not Vellums: a Vellum is a document you write and read; a Memory is a claim an AI looks up by what it is about, and that can be replaced by a newer one. Open them at viewert.com/your-username/memories.
When you connect an AI app, it can recall your Memories, and it can change them: add one, replace one that is out of date, or propose removing one. By default its changes are held. Open Memories → To review and you see them the way you would review a code change: the lines taken out in red, the lines put in in green, the words that differ marked inside a changed line, and the key, tags and Libram beneath. Accept, edit first, or reject each change, or a whole run at once. Nothing is recalled by any AI until you accept it, and a rejected change is dropped without touching what you already have.
The AI changes your memories
It writes a short note, usually with a quote of what you said, and says so in the conversation. Changes made close together are grouped into one set.
You review
Open Memories → To review. Accept, edit, or reject. Side by side or unified, as you like.
Every AI can use it
Once accepted, any AI you have connected can recall it, in any conversation.
A Libram is a context package for a project: its Vellums, and the memories filed in it, are what an AI is given when it loads the package. A memory lives in one Libram, or in none: a memory in no Libram is personal (how you like answers, your time zone) and is recalled together with every project's own. Moving one between Librams is a one-step edit, and deleting a Libram never deletes its memories — they become personal. A memory never counts toward your Libram limit. Memories stay private even in a public Libram: only you, and the AIs you connect with the memories permission, ever receive them.
Old facts that stay behind and contradict new ones are what make an AI's memory unreliable. Give a Memory a key (for example preferred_language) when it is a setting with one current answer; a newer Memory with the same key replaces it. The old one is kept, marked "Replaced", and you can bring it back. When you write a Memory that looks like one you already have, Viewert asks whether the new one replaces it. You can also look at what was in force on any past day with the "As of" date.
What is sent
Only memories that are in force are turned into numbers, by an embedding model (Amazon Titan Text Embeddings V2 on Amazon Bedrock, in Viewert's own AWS account). A suggestion waiting for your review is not sent. Text that looks like a password or key is never sent, and neither is a search that does.
What is kept
The numbers, not a copy of the text elsewhere. They are deleted when the memory is replaced, set aside, edited or forgotten, are never shown to an AI or included in an export, and are only used to rank your own memories.
If it is unavailable
Recall falls back to matching words, as before. You will not see an error.
Under "Connected apps" you choose, app by app, how much it may do. Memories already written and changes already waiting are never altered by changing this.
Suggests only
The default. Its changes wait for you, and nothing takes effect until you accept it.
Trusted, I review
Its changes take effect at once, so your AIs use them straight away, and you look them over afterwards in the same diff view: keep, edit, or discard. Discarding a replacement brings back the memory it replaced.
Trusted, no review
Its changes take effect at once and you are not asked to review them. You still see everything under Activity, and can manage every memory on the Memories page.
Memories are not tied to any one AI. "Import & export" (or the command line) writes everything, with its history, as a file you can import again; or what is in force as a Markdown file for tools that read files, such as AGENTS.md. You can bring in a plain list from another assistant: it goes to your inbox to review first. Importing never replaces what is in force, and importing the same file twice adds nothing.
viewert memory add "I prefer short answers, code first" --type preference --key answer_style
viewert memory ls --view proposed
viewert memory approve 01JABC…
viewert memory export --format markdown -o AGENTS.md
viewert memory import list.txt --dry-runYou can keep up to 10,000 Memories. An AI app can have at most 200 suggestions waiting for you at a time, and is told to stop until you have been through them. Each Memory is at most 1,000 characters. An AI app's hourly allowance is generous for reading and modest for writing.
Connected AI apps get five tools, with the memories:read and memories:write permissions you approve on the consent screen: recall (what matches, within a token budget), remember (add one), supersede_memory (replace one), retract_memory (take back one it wrote, or propose removing another), and explain_memory (where a memory came from and everything that has happened to it). What each does depends on how far you trust the app: its changes are held for you, or applied and open to review. None of them can delete, edit or accept a Memory.