Skip to content

Project memory: how to stop re-explaining context to your AI agent

Every new session with an AI agent starts from zero, so you explain the client, the constraints and last week's decisions all over again. This guide covers what is worth remembering, how to keep it accurate, and how project memory works in Pandore.

· 8 min read · by Dorian Richard

Why your agent forgets

A language model does not learn from your conversations. Each answer comes from two things: what the model learned during training, and the text it receives with your request, usually called the context. When a session ends, nothing carries over unless a tool puts it back into the next context.

Agents such as Claude Code, Codex and Gemini CLI work the same way. They can read your files, so they rediscover what is written down. What they cannot rediscover is what was only said: that the client rejected the blue version, that the deadline moved, that invoices go to the finance team and not to your contact.

Long conversations do not fix this. Context windows are large but finite, and tools shorten or summarize older messages to make room. Details go first, and details are often what mattered. Starting a fresh session is also often the right choice, for cost and for focus.

You can usually tell when an agent is missing context. It asks a question you answered last week, suggests an option the client already rejected, or keeps following the original brief after the scope changed.

So you re-explain. It costs time and tokens, and it fails quietly: the day you forget to restate a constraint, the agent has no way of knowing it exists.

Three kinds of context

It helps to separate three things that often get mixed up:

  • The conversation: working memory for the task at hand. Useful today, mostly noise next month.
  • The brief: a snapshot of the project's sources, such as its folder and documents. Good for the big picture, slow to update.
  • The memory: small, durable facts established during the work, such as a decision, a constraint or a preference.

Many setups cover the first two. The third often ends up kept by hand, in a notes file pasted at the start of every session.

In Pandore, each project has all three. You can write the project brief yourself, or let an agent read the project folder and write it. Each client also has a free-text AI context that applies to all of its projects. And the project memory holds short, typed items that every agent working on the project receives, whether it runs in the chat, in an agent session, in an agent team or in a Mission.

What is worth remembering

A good memory item is a fact that a new agent, or a new colleague, would need and could not easily find in the files. Pandore sorts memory into seven kinds, which also make a useful checklist for any project. The examples are hypothetical.

KindWhat it holdsExample
ObjectiveWhat the project must achieveCut the sign-up form to one screen
DecisionA choice that was made, ideally with the reasonOption B, because the hosting is cheaper
ConstraintA limit that cannot be crossedNo external fonts: the client's network blocks them
PreferenceHow the client, or you, like things doneBritish spelling, short paragraphs
KnowledgeA fact about the domain or the contextInvoices go to the finance team
LearningSomething discovered along the wayThe export fails on very large files
RiskSomething that could go wrongA legal review may delay the launch

What you leave out matters as much. Pandore's agents are told not to save hypotheses, one-off tasks, simple summaries, or facts the memory already holds. The same filter works anywhere:

  • Hypotheses turn into false facts once they are written down as memory.
  • Tasks belong in a task list, where they can be finished.
  • Summaries of a conversation age fast and crowd out the facts.
  • Secrets, such as passwords and keys, have no place in a prompt at all.

Writing an item that survives

A memory item is read by an agent that knows nothing about the moment it was written. Compare two versions of the same hypothetical fact:

  • Weak: "Client prefers the other option."
  • Strong: "Keep the current logo. The client rejected the redesign at the March review because of print costs."

The second one names the choice, the reason and when it was made. An agent reading it two months later can apply it, and you can tell at a glance whether it is still true. A simple test: read the item alone, without the conversation around it. If it still makes sense, keep it. If it needs the conversation to be understood, rewrite it.

Proposed or confirmed: who decides what counts

Every memory system has to answer one question: does a fact need your approval before agents start using it?

If every item waits for approval, the memory is accurate but small. Approval queues get ignored, and the useful facts stay stuck in the queue. If items are saved silently, the memory grows, but one wrong fact can steer every future session without anyone noticing.

Early versions of Pandore's project memory asked you to confirm each proposal. The current version saves durable facts automatically and moves the control to afterwards:

  • Only explicit, typed items are kept. When an agent establishes a durable fact, it is asked to add a short structured note at the end of its answer, three at most. Pandore hides the note from the visible reply and stores it. Ordinary text is never turned into memory by guesswork.
  • Each item keeps its source: the conversation, agent session or Mission that established it.
  • Duplicates are skipped. A conversation or agent session does not add an item with the same kind and title as an active one.
  • Completed Missions contribute their decisions and learnings, with the Mission named as the source.

Underneath, each item still has a status: proposed, confirmed or archived. Only confirmed items are given to agents, and archived items never are. New items now arrive confirmed, and the proposals left from earlier versions were confirmed during the update.

Neither approach is right in every case. What makes automatic memory safe is the habit of reading it, which the next sections cover.

Pinning what must never drop out

Memory cannot grow forever inside a prompt. Pandore gives agents a bounded block of confirmed items: pinned items first, then the most recently updated. When the memory gets large, pinned items are the last to be left out.

Pin the few facts that would cause real damage if an agent missed them: a hard constraint, a legal requirement, a preference the client will not negotiate. If everything is pinned, nothing is.

The memory block also tells agents that these items take precedence over the client context, an old brief or an old conversation. A decision recorded last week wins over the brief written at kickoff.

Reviewing what the agent remembers

Open the project's Memory tab. It shows every confirmed item as a card with its kind, its title, its detail and its source. There is nothing to configure: the screen exists so you can see what agents are told.

Each card has three actions:

  • Pin or unpin.
  • Correct: change the kind, the title or the detail.
  • Forget: Pandore stops using the item, and the source that produced it will not recreate it.

When the project has a brief, the tab shows it below the items as a snapshot of the sources, so you can compare the two.

A review takes a few minutes if you do it at natural milestones: after the kickoff, after a client review, before a delivery. Read each card and ask one question: if a new agent read only this, would it do the right thing?

Good habits

  1. 01Say decisions out loud

    Agents record what is established, not what is implied. "We go with option B because the hosting is cheaper" is easy to remember. "OK, B then" is not.

  2. 02Correct conflicts at once

    When a decision changes, correct the old item or forget it. Two contradictory items force the agent to choose, and it may choose wrong.

  3. 03Keep one fact per item

    Short, standalone titles age well. A paragraph mixing a decision, a risk and a task is hard to correct later.

  4. 04Put client-wide facts in the client context

    A billing contact or a tone of voice applies to every project for that client. In Pandore, the client's AI context holds it once, for all of them.

  5. 05Review at milestones

    Read the Memory tab after kickoffs, reviews and deliveries. It takes less time than finding a stale fact in a finished draft.

These habits matter even more when several agents work on the same project. A Writer and a Reviewer called together in the chat read the same memory, so one correction fixes both. The guide to running several AI agents shows how that works.

Questions

Before you start.

Does project memory leave my computer?

It is stored in your Pandore workspace, a local file on your disk. When an agent works on the project, the confirmed items are part of what it receives, so with a remote agent such as Claude Code, Codex or Gemini CLI they go to that provider with the rest of the request. The guide to local and cloud AI explains what goes where.

Can I add a memory item by hand?

The Memory tab is for reading and correcting, not for typing new items. To add a fact, state it clearly in the project chat: agents are asked to record the durable facts a conversation establishes, and you can check the Memory tab afterwards. For facts that apply to a whole client, write them in the client's AI context.

Do all agents share the same memory?

Within a project, yes. The chat, agents called with @, agent sessions, agent teams and Missions all read the same confirmed items. Memory is not shared between projects; the client's AI context is the place for what several projects have in common.

What happens when I forget an item?

It leaves the active memory, agents stop receiving it, and the conversation, session or Mission that produced it will not add it back.

Give your projects a memory.

Free for Mac and Windows. Your workspace stays on your computer.

Version 0.9.0 · free · macOS 11+ Apple Silicon · Windows 10/11 x64