# Building persistent memory and context in Paver

IBM® Paver remembers things about you across conversations such as your preferred regions, how you like to work, the projects you're running, and other context that makes future interactions faster and more relevant. This is Paver's memory system.

You don't need to configure anything to use it. Memory works automatically in the background.

## What Paver remembers

As you work with Paver, it automatically picks up and stores the following types of facts:

- **Your environment**: The regions, systems, accounts, and servers that you work with.
- **Your tools and workflow**: The tools that you use and how you use them, such as "deploys apps with Terraform," "uses Helm for Kubernetes," or "manages Power workloads with Ansible."
- **Your projects**: The projects, workloads, clusters, and services that you work with regularly.
- **Your preferences**: How you like information presented and which shortcuts you use.

These are called memories. They're stored securely on the Paver server, scoped to your user account. No other user can see your memories.

## What Paver doesn't remember

Paver is selective about what it stores. It won't remember the following types of information:

- Routine or one-off questions that don't reveal anything lasting about you
- Sensitive values like API keys, passwords, or tokens
- The full contents of past conversations. Those are stored as conversation history not memory.

## How it works

### Paver builds memory automatically

After each conversation turn, Paver extracts any new facts worth remembering and checks if they conflict with or update what it already knows. You don't need to tell Paver to remember something. If you mention that your production cluster is in `eu-de`, Paver will store that and use it next time.

### Paver uses memory before it responds

Before deciding how to respond to you, Paver searches its memory for context that's relevant to your question. If you ask "scale my app" without specifying which one, Paver can look up which app you've been working on and act on that rather than asking you to repeat yourself.

### Memory persists across conversations

Memories aren't tied to a single conversation. They carry over every time you start a new chat, whether you're using `paver chat`, `paver ask`, or the web UI. Conversation history is stored separately from memory and isn't affected when you clear your memories.

## Correcting and seeding memory

You can correct a memory, or you can explicitly provide Paver with memories to store instead of waiting for it to build them from your interactions.

### Correct a wrong memory

If Paver has remembered something incorrectly, just tell it in the chat:

> _"Actually, my preferred region is eu-gb, not us-south."_

Paver will update its memory automatically. You don't need to manually delete the old entry.

### Seed Paver with context upfront

At the start of a session, you can tell Paver things directly:

> _"I'm working on the billing-service project in the prod-eu account. My default resource group is `billing-prod`."_

Paver stores this and uses it throughout the session and in the future. This is especially useful when you're starting work in an unfamiliar environment or switching to a new project.

### Use `paver ask` to seed memory in scripts

Because `paver ask` runs the full agentic loop, context that is shared in `paver ask` is also stored as memory:

```text
paver ask "Note that I work in the us-east region on the payments project"
```

After this runs, Paver will recall that context in future sessions regardless of which client you use next.
