# Memory

**Memory** is what Connect knows about a business and the people it deals with, held at four tiers — workspace, channel, endpoint, contact — and resolved narrowest-first for each piece of work. It is a record you can read and erase at every tier, not a transcript of past chats and not a longer prompt.

- **Status:** Available
- **Audience:** both
- **In the app:** #/relationships, #/autonomy
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/glossary/memory/

## Four tiers, narrowest first

The same hierarchy [autonomy](/docs/glossary/autonomy/) uses. When Connect prepares a piece of work it resolves all four and the most specific applicable entry wins.

| Tier | Scope | Typical entry |
|---|---|---|
| Workspace | The whole business | Trading hours; what the business does not do |
| Channel | Email, WhatsApp, SMS or voice | How replies on this channel should read |
| Endpoint | One mailbox or one phone number | This address handles accounts only |
| Contact | One person | Prefers Hindi; do not message on WhatsApp |

The resolver returns every tier, including the empty ones, rather than silently dropping a tier that holds nothing. That sounds like a detail and is the difference between "nothing is set for this contact" and "something is set and I cannot see it" — the first is an answer, the second is a bug report.

## Reading it and erasing it

A person can open what Connect knows at every tier and forget any of it. The memory viewer is mounted from three places that correspond to the tiers you would be thinking about at the time: the mailbox row, the channel screen and the contact panel. There is no separate audit expedition required to find out why Connect said something.

Memory also has a budget. Only a few hundred characters of it reach a live voice call, because every character of a prompt costs time before the first word is spoken — [what every character of a prompt costs on a live call](/research/prompt-size-and-first-token/) has the measurements. Long, narrative memory entries are therefore worse than short specific ones: they crowd out other entries rather than adding to them.

> **Careful** Erasing a memory changes future behaviour, not past records. A reply already sent stays in the conversation and in the audit trail; forgetting is not redaction.

## Four things it is confused with

**Chat history** — A transcript is what was said; memory is what was concluded and kept. Connect does not re-read every past conversation to answer a new one — it reads the entries that survived, which is why a correction has to be recorded to take effect. [Relationship memory versus chat history](/research/relationship-memory/) is the long version.
**[Knowledge](/docs/glossary/knowledge/)** — Knowledge is source material you supply for answers to be grounded in — documents, pages, policies. Memory is learned or noted about a business and its people. A price list is knowledge; *this customer always asks for the price list* is memory.
**A [standing instruction](/docs/glossary/standing-instruction/)** — An instruction directs behaviour; a memory informs it. Both are durable, and one of them compels.
**Model training** — Nothing here trains a model. Memory is retrieved and given to a model when it is relevant to the work in hand, and removing an entry removes it from every future retrieval.

One further distinction is worth stating because it is invisible on screen: a **block** is a memory entry, but it is enforced from its tag rather than from its wording. The directive reader looks only at the tag list, so a sentence in the body of a memory saying *do not contact* does not block anything. That is deliberate — it makes a block hold across channels and across conversations that have not happened yet.

## Questions

### Does memory cross between workspaces?

No. Memory is scoped like every other record, so a person known in one [workspace](/docs/glossary/workspace/) is unknown in another even if the same email address appears in both.

### Why is Connect still doing something I told it to stop?

Usually because the correction was made in conversation and never recorded, or it was recorded at a wider tier than the one that applies. Check the contact tier first — narrowest wins — and record the correction where the behaviour is happening.

### How much memory does Connect carry into a phone call?

A deliberately small budget, measured in hundreds of characters, because prompt size delays the first spoken word. Specific short entries survive that budget; long ones displace each other.

## Related

- [Knowledge](https://connectbyjbrh.com/docs/glossary/knowledge/)
- [Standing instruction](https://connectbyjbrh.com/docs/glossary/standing-instruction/)
- [Memory in Connect](https://connectbyjbrh.com/docs/memory/)
- [Structured business memory instead of a longer prompt](https://connectbyjbrh.com/research/structured-business-memory/)
- [Relationship memory versus chat history](https://connectbyjbrh.com/research/relationship-memory/)

## What this page is based on

- docs-source/sources/GENERAL.md §6 — memory, tiers() and directives()
- `docs-source/facts.py` — MEASURED memory_budget_chars, contact_block_chars
- docs-source/sources/GENERAL.md §3 — blocking is not a column
