Second Brain for Mac and Windows - Your AI memory, everywhere you work
by•
The Second Brain desktop app gets you running in five minutes. No terminal. No git. Just download, set a password, and sign into Cloudflare. Then the real magic starts. Persistent memory across every AI tool you use.
Recall that just got a lot smarter. Surfaces the right memory, not just the newest one. A knowledge graph that builds itself. Your data in your own Cloudflare account, not ours. Mac and Windows. You asked for the app. You asked for better recall. We shipped both.


Replies
The override versus accumulate question above is the real one. Semantic search alone can't answer it either. An old architecture decision and its replacement will usually score just as similar to each other as either does to the query looking for it. That has to get resolved somewhere: at write time, checking new entries against existing ones and versioning what's superseded, or at read time, dumping both into context and trusting the model to notice the contradiction. Which is it here?
Second Brain for AI
@rahilpirani That's an actual mechanism, not a hand wave. The canonical versus non-canonical split is what I'd push on next. Something has to decide an entry is canonical in the first place. Is that promotion automatic after enough confirmations, or does a human have to mark it. And once something is canonical, can it ever get knocked back down, or does canonical status stick even after the model call finds a real contradiction against it.
Second Brain for AI
@mohsen_bashirzadeh Good question, and it’s not a confirmation counter either way.
Two things can make an entry canonical. When a memory gets written, a model call marks it canonical only if it’s a confirmed decision, a durable fact, or a stated permanent preference, and it’s tuned to be strict. We judge the content instead of counting confirmations on purpose: repetition isn’t truth. Something said five times isn’t more authoritative than something said once, so a counter would just promote whatever gets repeated most. You can also mark it yourself with set_status, and the auto step only runs when an entry has no status yet, so it never overrides you. Your call always beats the model’s guess.
Contradictions don’t knock it down. When a new write clashes with a canonical entry, the canonical one wins and the newcomer lands as a draft. That’s the point. The failure mode we were fixing is recency winning by default, where the newest write silently overwrites a settled decision and you get a confidently wrong answer later. Most writes that contradict a settled fact are noise or missing context, not a real reversal, so a contradiction surfaces both sides and flags it for you instead of flipping authority on its own. The one thing that demotes canonical is you calling set_status. Protected by default, reversible when you mean it. The model can nominate, but reversing settled truth stays your call, because that’s the one decision you don’t want automated