GTM BRAIN / BLOGCOMPANY CONTEXT → REUSABLE WORKFLOWS

FOR FOUNDERS AND OPERATORS

Your agent forgets who you sell to

If you run GTM yourself across a CRM, an enrichment tool, an outreach tool and a few AI chats, your ideal customer profile slowly turns into four slightly different ones. This essay explains why chat memory does not fix that, and what a record your agent can actually rely on has to contain.

TL;DR
  • An ICP drifts because every tool keeps its own copy of it, and none of them records what was decided, when, or why.
  • Chat memory helps a conversation continue. It is not built to show a decision, its source, and what later replaced it, so it cannot be your GTM system of record.
  • A durable record needs topics with standing rules (Context), dated evidence with sources (Memory), stable identities for people and companies (Entity), corrections that supersede instead of overwrite, and open questions surfaced for a person to answer.
  • GTM Brain keeps that record as local Markdown and append-only JSONL files that Codex (and Claude Code, in beta) reads and writes, with a read-only dashboard to inspect it.

How the ICP drifts

Picture a founder who sells to mid-sized logistics companies. In March she writes down who she sells to in a chat with her AI assistant, and the answer is good. In April she builds a list in Clay and, because the first filter returns too few companies, she widens the employee range a little. The list goes into Attio as a new list with its own name. In May a teammate copies a slice of it into HeyReach for a LinkedIn campaign and removes two industries that did not reply. In June she opens a new chat, asks the agent to draft a campaign for "our ICP", and pastes the version she has to hand, which is the one from March.

Nobody made a mistake. Each change was reasonable at the time. The problem is that the decision to widen the range, the evidence that two industries do not reply, and the reason the list was built the way it was all live inside tools that store records, not decisions. The CRM knows which companies are on a list. It does not know that the list is a test of a wider ICP that was meant to be reviewed after a month.

[Needs Artur's OK before publishing.] Artur, who builds GTM Brain, described this from his own work: a report downloaded into Attio, a separate list built in Clay, and over time the hypotheses behind both getting lost. He also found that the memory of his AI assistant was being overwritten without him seeing what the decision had been. That experience is where GTM Brain started.

If you hold GTM together alone or in a small team, you probably recognise the symptoms: two lists that should be the same and are not, a contact who appears twice with different notes, an outreach sequence whose targeting nobody can explain, and an agent that writes confidently from whatever you pasted last.

Why chat memory is not a GTM system of record

AI agent memory, as most assistants offer it, is designed to make the next conversation smoother. It keeps preferences and facts it thinks will help, and it updates them as you talk. That is useful for tone and for not repeating yourself. It is the wrong shape for go-to-market decisions, for three reasons.

First, a GTM decision needs a date and a source. "We stopped targeting retail" is only useful if you can see that it was decided on a specific call, by a specific person, because of specific replies, so that you can revisit it when the evidence changes. A memory that says "user does not target retail" has lost all of that.

Second, a decision has to stay visible after it is replaced. If you widen the ICP in April and narrow it again in June, the history is the useful part: it tells you what you tried and what it taught you. A memory that is rewritten in place keeps only the latest belief.

Third, the agent should not resolve ambiguity on its own. If one note says the buyer is the head of operations and another says the CFO signs, a good record keeps both and asks you which is true. A memory that quietly picks one gives you a confident answer that may be wrong.

None of this is a criticism of chat assistants. They are built for conversations. A GTM record is built for decisions that have to survive many conversations, many tools and, eventually, more than one person. Context engineering for GTM is mostly about that second job: deciding what the agent must always know, what it should look up, and what it must ask you.

What a durable GTM record needs

If you were designing a company knowledge base for an agent that does GTM work, you would end up with roughly five parts.

Topics with standing rules. Most work happens inside a topic: target customers, the offer, a strategy, a market you are entering. Each topic needs a short current summary and a few rules for how to work there, for example "only companies with a dedicated operations team" or "never discount below list in the first call". GTM Brain calls this a Context.

Dated evidence with sources. Inside each topic you need records of what happened: a buyer described a handoff problem, you decided not to discount for one account, a question is still open. Each record needs a date, an author, the people and tools involved, and a pointer to where the evidence lives, such as the call notes or the CRM record. GTM Brain calls one such record a Memory.

Stable identities. The same person shows up as "Chris" in a call note and "Krzysztof Pawlak" in the CRM. The same company appears with and without its legal suffix. The record needs one identity per person, organization or product, with aliases, so that everything you know about them can be found together. GTM Brain calls this an Entity.

Corrections that supersede. When a fact changes, you add a new record that points to the old one and says it replaces it. The old one leaves the current view but stays in the file. When you withdraw a note because it was wrong, that withdrawal is also a record. Nothing is edited in place, so you can always reconstruct what you believed at any point.

Questions for a human. When the evidence conflicts or something is missing, the record should hold an open question until a person answers it, and the agent should bring it up at the right moment instead of guessing.

Two more things make the record usable in practice. Standing documents, such as an approved ICP definition or a pricing guide, are written by people and followed by the agent, not rewritten by it. And the whole record has to be inspectable by a person without asking the agent, because the point is to see the decision yourself.

How GTM Brain keeps that record

GTM Brain is an open-source plugin for Codex, MIT licensed, with Claude Code support in beta. It gives your agent a persistent, structured workspace for GTM work: a folder on your computer with plain files that the agent reads and writes through a local MCP server.

Each Context is a folder under brain/contexts/ with a context.md for the summary and rules and a memories.jsonl file of records. Memory writes are appended immediately. A correction is a new record with supersedes; a withdrawal or an answered question uses retracts. Entities live in brain/entities/, and their briefs are compiled from the memories that mention them, with citations back to each one. Standing documents such as strategy.md carry a kind: document marker; the agent reads them in full before work they apply to and says which one it followed. A local SQLite FTS5 index makes search practical, and it is a cache you can rebuild, not the source of truth.

In everyday use you just talk. "Open Target customers" loads that topic. "We decided not to discount for Bergstrom" becomes a decision record. "Open question: is the CFO a standing committee member?" becomes a question that stays visible until you close it. "Correct memory m_9a1c02d4e5f6: the meeting is 12.09, not 10.09" adds a correction and keeps the original. Changes to company information are shown as a diff and only applied when you type APPROVE.

The dashboard is a read-only view of the same files: contexts, evidence, people and companies, decisions, open questions and workflow progress. It does not edit anything. Summaries refresh in the background, by default after ten minutes without a new note.

It is worth being exact about what it does not do. Your CRM stays the source for deals and contacts; GTM Brain keeps evidence and decisions, not a copy of every record. Connectors to your CRM, email and calendar come from your agent host and are authorized separately. The files live on your machine, but your AI provider still processes the context you give it, so local storage does not mean offline inference. In the Claude Code beta, background summaries still need Codex on the same machine, and connector checks and the dashboard's chat buttons are Codex-only.

TRY IT IN CODEXCODEX DESKTOP / CLAUDE CODE BETA

Install GTM Brain from the GitHub repository, run /gtm-brain-start in an empty folder, then send:

Open Target customers. Here is how we define our ICP today: [paste it].
Remember it as a decision, with today's date and this chat as the source.
Then list anything in it that contradicts what you already know, and save
each contradiction as an open question for me.

The agent records the decision and the questions in the brain. It does not change your CRM, your lists or your campaigns.

FAQ

What is the difference between AI agent memory and a GTM system of record?
Agent memory keeps facts and preferences that help the next conversation, and it updates them in place. A GTM system of record keeps dated decisions with their sources, keeps the history when a decision is replaced, and holds open questions for a person to answer.
Does GTM Brain replace my CRM?
No. Your CRM stays the source for deals and contacts. GTM Brain keeps evidence, relationships and decisions across your work and points back to the CRM record or conversation it came from.
Where is the data stored?
In a folder on your computer: Markdown and append-only JSONL files, plus a rebuildable local search index. Your AI provider still processes what you share with it, and connected tools keep their own data policies.
Does it work with Claude Code?
Yes, in beta. Setup, memory, briefs, questions, linked projects and protected-file approvals work. Background summaries still require Codex on the same machine, and connector checks and the dashboard's chat buttons are Codex-only.
Can the agent change or delete my notes?
Notes are never edited or deleted. A correction is a new note that supersedes the old one, and a withdrawal is recorded as a note too. Company information changes only after you type APPROVE.
Do I need to be technical to use it?
You need the Codex desktop app and Node 22.16+ or 24+; the guided installer checks your environment. After that you work in plain language in chat.

BUILD WITH GTM BRAIN

Open source now.
Multiplayer coming soon.

Read the code, install GTM Brain and build your company brain. Have a method worth sharing? Propose it as a skill. Or book a demo with the founders.