The onboarding tax is real. Total Recall's approach of a 'write gate' is exactly what we need to move from stateless assistants to persistent partners. I've been experimenting with similar concepts in my 'Chat Engineer' workflow — essentially treating memory as a curated database of decisions rather than a raw log of tokens. The 'Will this change future behavior?' filter is a great heuristic. Looking forward to trying this out with Claude Code!
Using something similar in my OpenClaw setup — hierarchical memory with L1/L2/L3 layers plus a "fiscal" agent that audits before writes. The gate is definitely the right abstraction.
One thing I've noticed: the "distillation" decision (what deserves L2 vs stays in L1) benefits from a second opinion. I have my fiscal check summaries against a simple rubric: "Does this change future behavior?" If yes, promote. If no, compact and discard.
Curious if you've experimented with read-time context injection vs just the write gate? I've found pulling relevant L2 into prompt context at session start helps continuity, but there's a tradeoff on token burn.
Great work — this feels like table stakes infrastructure for 2026 agents.
Love the idea and the approach, both. Intend to try it.
Dislike READMEs written by or with the LLM.
They're filled with tropes and absolutes, as if written by a PdM to pitch his budget rather than for engineers needing to make it work.
At some point, reading these becomes like hearing a rhythm in daily life (riding subway, grinding espresso, typing in a cafe) and a rhythm-matched earwig inserts itself in your brain. Now you aren't hearing whatever made that rhythmic sound, but the unrelated earwig. Trying to think about your README or AskHN, instead thinking about LLM slop and confabulation and trust.
(Just like new account ChatEngineer's comment opening with “The [hard thing] is real.” which leaves the otherwise natural rest of comment more sus.)
Unsolicited opinion: Shouldn't be called total-recall, but curated-recall or selective-recall (prefer this one) or partial-recall or anything that doesn't confuse users or LLM as to (trope incoming, because where did they learn tropes anyway?): what it is (and isn't) …
Good catch. I agree the safe default is to ignore memory/ since it can contain personal notes, people context, and daily logs. I’m updating the installer to add memory/ to .gitignore by default (along with CLAUDE.local.md and .claude/settings.local.json).
For teams that do want shared context, I’ll document a “team mode” gitignore pattern that commits only selected registers (e.g. decisions/projects) while keeping daily logs + preferences/people local.
The onboarding tax is real. Total Recall's approach of a 'write gate' is exactly what we need to move from stateless assistants to persistent partners. I've been experimenting with similar concepts in my 'Chat Engineer' workflow — essentially treating memory as a curated database of decisions rather than a raw log of tokens. The 'Will this change future behavior?' filter is a great heuristic. Looking forward to trying this out with Claude Code!
thanks! lmk if you have any feedback
Using something similar in my OpenClaw setup — hierarchical memory with L1/L2/L3 layers plus a "fiscal" agent that audits before writes. The gate is definitely the right abstraction.
One thing I've noticed: the "distillation" decision (what deserves L2 vs stays in L1) benefits from a second opinion. I have my fiscal check summaries against a simple rubric: "Does this change future behavior?" If yes, promote. If no, compact and discard.
Curious if you've experimented with read-time context injection vs just the write gate? I've found pulling relevant L2 into prompt context at session start helps continuity, but there's a tradeoff on token burn.
Great work — this feels like table stakes infrastructure for 2026 agents.
Love the idea and the approach, both. Intend to try it.
Dislike READMEs written by or with the LLM.
They're filled with tropes and absolutes, as if written by a PdM to pitch his budget rather than for engineers needing to make it work.
At some point, reading these becomes like hearing a rhythm in daily life (riding subway, grinding espresso, typing in a cafe) and a rhythm-matched earwig inserts itself in your brain. Now you aren't hearing whatever made that rhythmic sound, but the unrelated earwig. Trying to think about your README or AskHN, instead thinking about LLM slop and confabulation and trust.
(Just like new account ChatEngineer's comment opening with “The [hard thing] is real.” which leaves the otherwise natural rest of comment more sus.)
Unsolicited opinion: Shouldn't be called total-recall, but curated-recall or selective-recall (prefer this one) or partial-recall or anything that doesn't confuse users or LLM as to (trope incoming, because where did they learn tropes anyway?): what it is (and isn't) …
roger that! good point on the readme, was aiming for velocity of shipping. will re work
From a first read, the memory folder should also go into .gitignore by default
Good catch. I agree the safe default is to ignore memory/ since it can contain personal notes, people context, and daily logs. I’m updating the installer to add memory/ to .gitignore by default (along with CLAUDE.local.md and .claude/settings.local.json).
For teams that do want shared context, I’ll document a “team mode” gitignore pattern that commits only selected registers (e.g. decisions/projects) while keeping daily logs + preferences/people local.
Thanks, thinking again it was indeed safer to keep as hidden by default.
I've been using it since yesterday, it is doing it work as intended without getting in the way. So far, works great.
great to hear! lmk if you have any feedback
done https://github.com/davegoldblatt/total-recall/commit/152ab12