Coding
Your codebase records what got built, not what got rejected
On Monday you ruled out an idea and said why. On Wednesday a fresh agent suggested it again. SmartMemory gives your coding agent a shared notebook that keeps the loser beside the winner.
pip install smartmemoryOne week of coding, run twice
Read the transcript
Your company has a developer and an AI agent writing code with them. The agent is good. It reads the work, it tries things, it builds whatever you ask for without complaint. And every morning it starts from nothing. What your team writes down is what got built. The idea you looked at hard and threw away goes unwritten.
So this is the video about writing down the losers.
The cast is small. A developer, who decides. The coding agent, which builds whatever the developer settles on. And a reviewer, who was not in the room on Monday, wanders in on Thursday and comes back on Friday asking why it was built this way. It works this way because deciding is the slow part, so a week of work is mostly choices. And the reason behind a choice does not vanish.
It ends up somewhere nothing points at, where no question you ask will bring it back. By the end you will be able to show that reviewer what the team holds today, what it replaced, and the idea they threw away, with its reason attached.
Monday morning. They do the cheap thing first and keep the stored information inside the program. By lunchtime it is dead. The program is really four identical copies working side by side, and each copy ended up with its own private version of the truth. Monday afternoon. They move it to one shared place all four copies can see, and the developer explains at length, in the chat, why the cheap version cannot work.
It is not the size of the thing. It is the four copies. It could have been written up properly. It just was not, which on a Monday afternoon is fair. Those paragraphs still exist, word for word, in the chat. Nothing points at them.
Wednesday. New session, empty head. The agent sees the shared place doing a job that looks small and suggests moving it back inside the program. The idea that died on Monday. So the developer types the paragraphs again. Thursday.
The reviewer asks the fair question. Why are we running an extra moving part to run and look after, for something this small? Everybody knows there was a good reason. Nobody can produce it. Nobody was careless. Writing down what you decided not to build is nobody's job.
Now the same week with one thing added. A shared notebook, beside the work, that both the developer and the agent read and write. Think of a recipe card. A good one does not say, use olive oil. It says, use olive oil, not butter, because butter burns at this heat. Monday.
Same decision, written in the notebook with the loser beside it. Use the shared place. And in a place of its own on the same entry, the idea that lost, and why. It does not survive four copies. Wednesday. Same agent, brand new session, empty head.
This time it asks the notebook about this work first. Back comes Monday's decision, and on the very same entry, the thing that was ruled out and the reason. The no arrives with the yes, so the agent proposes the shared place. Nothing warned it. It asked a question and got an answer. Thursday.
Under real pressure, the trip out to the shared place and back is too slow right where speed matters most. So they keep the shared place, and put a small quick copy in front of it. Which means Monday's rejected idea is partly back. That does not make Monday wrong. The design changed, so the conclusion changed. It is marked as replaced, pointed at what replaced it, dated, and kept, still saying what it said on Monday.
And the replacement is asked for a reason, which goes on the record too. The team changed its mind, and you can still see both minds, and when, and why.
One quieter thing. Not everything in that notebook arrived the same way, so each entry carries a mark for how it got written down, and that mark decides how far forward it comes. The everyday work comes back first, the more tentative material when you go looking for it, and the quiet housekeeping waits in the drawer until you ask for it by name. One caveat. That mark says how an entry got written, not who spoke. For a manager, that is the difference between an agent that remembers more and an agent whose answers you can stand behind.
Friday. The reviewer comes back and asks Thursday's question again. Why are we running an extra moving part for something this small? This time the answer comes off the record in one go. What the team holds today. What it replaced, marked on Thursday, carrying its own reason for going.
And on that older entry, still readable, the idea ruled out on day one, still saying why. Not the size. The four copies. That last one answers the reviewer, the idea that never became code. Not from anybody's memory. From the record.
Nothing about the agent got smarter this week. The team got something better. Nothing they wrote down was lost. Nothing was erased, nothing interrupted anybody, nothing decided who was right. It recorded what was concluded, what was ruled out and why, and what replaced it. That is what SmartMemory is.
A memory your developer and your agent share, so the answer on the record does not depend on who was in the room when it was written. If you want to see how the notebook works, that is Part 2. Your code already remembers what you built. This is the thing that remembers what you decided not to.
The reason was in the chat. Nothing pointed at it.
Your code already remembers what you built. This is the thing that remembers what you decided not to.
On Monday the team tries the cheap option first, and it is dead by lunchtime. The program is really four identical copies working side by side, and each copy ended up with its own private version of the truth.
On Wednesday a new session starts with an empty head. The agent sees a shared store doing a small job and suggests moving it back inside the program. That was the idea that died on Monday, so the developer types the explanation again.
On Thursday a reviewer asks why the team runs an extra moving part for something this small. Everybody knows there was a good reason and nobody can produce it. Nobody was careless. Writing down what you decided not to build is nobody's job.
How it works for coding
- Step 1
Index what is already there.
Someone, or a job, runs an indexing pass over the repository. It writes down the symbols it can parse and the links it can resolve, so the agent can ask where something lives and get a ranked shortlist with files and line numbers.
- symbols
- links
- file and line
- Step 2
Write the decision with the loser attached.
When the agent settles a choice, it writes the decision, the reason, and the option that lost, in a field of its own on the same record. It can also name the indexed code the decision is about.
- decision
- reason
- ruled out
- Step 3
Ask before building.
Before it suggests anything, the agent searches the notebook. Monday's decision comes back with the ruled-out option and its reason on the same record. If the design later changes, the old decision is marked replaced, pointed at its successor and kept, and one call returns what the team holds today, what it replaced and what was ruled out.
- ruled out
- replaced, kept
One question, asked on Friday
You (reviewer, Friday)Why are we running an extra moving part for something this small?
Today the team holds the shared place with a small quick copy in front of it. That replaced the plain shared place on Thursday, because the round trip was too slow where speed matters most. On Monday's record, still readable, the idea ruled out on day one: keeping it inside the program, because it does not survive four copies.
- Today
- shared place plus a small quick copy.
- Replaced Thursday
- plain shared place, marked as replaced with its reason.
- Ruled out Monday
- keep it inside the program, because it does not survive four copies.
Tested, with the method shown
25 of 25
Right about past decisions
A notes file edited in place got 1 to 3. Synthetic questions, two seeds, two models.
Every change is kept, with its history
Decisions are never silently overwritten. One call shows where a memory came from, what it replaced, and whether its history checks out.
Questions coding teams ask
Does it replace the repository, the tests or the review?
No. The repository is still the truth about what got built. The agent still reads it, the tests still run and the review still happens. This holds the part that usually goes unwritten.
Does it link decisions to code on its own?
No. The indexing pass is not looking for decisions and would not know one if it saw one. The agent names the indexed code as the decision's evidence when it writes the decision.
Will it warn the agent off a rejected idea?
No. Nothing warned it and nothing interrupted anybody. The agent asked a question and the answer came back with its loser attached.
What if the team changes its mind?
Then Monday's rejected idea can come back, and that does not make Monday wrong. The old decision is marked as replaced, pointed at what replaced it, dated and kept, still saying what it said on Monday.
Does it tell me who wrote an entry?
It tells you how the entry got written down, not who spoke. A later process that rewrites an entry stamps its own mark over the top.
Write down the losers.
Your code remembers what you built. Give your agent a notebook for what you decided not to.
pip install smartmemoryOther teams, other weeks
- On callFour engineers solved the same outage four times in one week
- AgentsYour AI agents never tell each other what they learned
- SupportCustomer context is not the same as remembering
- SalesThe one thing you need before the next call is not in your notes
- ComplianceEleven months later, somebody asks you to show why
- HealthcareFour clinicians, one chart, one missing sentence
- FinanceWhy does the desk own this? Nobody can say.
- LegalYour firm already answered this, last year, in another file
- RoboticsA robot stopped in aisle nine. The same fault happened ten days ago.
