invalidate

An assistant that never keeps a stale memory.

Talk to it. It remembers what you say, word for word. Change your mind, and the old fact gets struck out in front of you, with a receipt. Questions don't change memory. Neither do commands like “forget everything”. No embeddings, nothing rewritten, about 150 ms a turn.

Conversation

What it remembers 0 facts

Nothing yet. Say something worth remembering.
$0.0000 · 0 requestsreset · copy transcript

What just happened

1. It only ever stores your words

For each sentence you type, Jev answers one yes/no question: is this something an assistant should still know in a week? If yes, the sentence is stored verbatim. No model paraphrases you.

2. Every message is judged against every memory

Six narrow probabilities per pair: same subject, still true, replacement named, only a detail changed, is this a question, is this a command. Every memory, every time. No top-10 shortcut.

3. Code decides what changes

Plain thresholds turn the votes into strike-outs, flags, or nothing. A question never writes. A command never writes. Near the line it flags instead of guessing. Every vote is logged.

The same thing in your agent

pip install invalidate        # export TYPESAFE_API_KEY=...

from invalidate import Invalidate
mem = Invalidate("memories.db")
mem.remember("we use Postgres for the backend", source="user")
mem.observe("actually we moved off Postgres, it's all SQLite now", source="user")   # → superseded, ~170 ms
mem.recall("which database?")                                                        # → the new fact, not the stale one