SF Recall · 3 min read
Your agent forgets everything between sessions. Models will improve at this, but I was building a platform that could not wait — so the agent started leaving notes for itself. The method SaaS Factory got built on.
You work through something hard with an agent — the false starts, the constraint you only found halfway, the decision you finally made and the reason you made it. The next morning you open a new session and none of it happened.
So you explain it again. And the next day, again.
The usual answer is that models will get better at this, and they will. That was no use to me. I was building a platform where AI agents ship and operate real products, and those agents run for hours, hand work between each other and pick threads up days later. Every handover was dropping context that had cost real time to establish, and the cost scaled with how much the platform did.
The obvious framing is a note to the next developer. That is not my situation — I am the only person on the repository. The handover is the agent leaving something for itself, and the thing that makes it hard is that "itself" is a stranger every morning.
Which turns out to be the useful way to think about it. A colleague can ask what you meant. An agent opening a fresh session cannot ask, cannot infer, and has no idea what it does not know. So the deposit has to carry the reasoning, not just the conclusion — the constraint that ruled an option out is worth more than the option that survived, because the constraint is what stops the same afternoon being spent twice.
Open by reading rather than guessing. Write the decision down when you make it, because the end of a session often does not arrive. Leave the gotcha, the direction and the unfinished business.
When you change your mind, replace the old answer rather than stacking a new one beside it. That one is load-bearing: two live answers to the same question is worse than none, because the next session has to arbitrate and has nothing to arbitrate with.
Check whether something is already done before building it. And keep none of it only on one machine.
Nothing for about a week — worth saying, because that is where it looks like overhead and gets dropped.
By the second month sessions were starting where the last one stopped. Decisions made in March still held in August, not because anyone remembered them but because they had been recorded as decisions rather than left as the residue of a conversation nobody kept. The return is entirely in the compounding, and the compounding is invisible early.
SF Recall is that memory, lifted out of SaaS Factory and made to work in any repository, with any agent that speaks MCP.
Two things in it came from use rather than design. It is shared, so on a team a trap one person hits is one nobody else pays for again. And before anything reaches the day's list it is checked against the real code — the most expensive thing an agent does is carefully build something that already exists.
It earns its keep on repositories that live for months. On a weekend project it will not.
What I do not know yet is what a year of retained context is worth — not the parts you repeated often enough to remember, but the rejected options, the reasoning, the things that did not work. I have months of it, not years.
What I can say is that on a codebase this size it has been worth more than any single thing I have built on top of it.