# Standing instruction

A **standing instruction** is a direction you give Connect that keeps applying until you change it — *always copy the accounts address on an invoice question*, *never contact this person on WhatsApp*. It is an instruction rather than a fact, it outlives the conversation it was given in, and it is visible and reversible rather than buried in a prompt.

- **Status:** Available
- **Audience:** both
- **In the app:** #/home, #/rules
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/glossary/standing-instruction/

## What makes it standing

Three properties, and all three have to hold. It is **durable** — it survives the conversation, the day and the thread. It is **directive** — it tells Connect what to do or not do, rather than telling it something true about the world. And it is **inspectable** — you can find it later, read exactly what it says, and remove it, which is what separates a standing instruction from an offhand remark the model happened to weigh.

The Assistant surfaces this directly: Standing is one of the panes the assistant scroller draws into, beside Chat, Needs You, Memory and Files, so the durable directions you have given are readable in the same place you gave them. A direction you cannot find again is not a standing instruction; it is a hope.

## A worked example: blocking a channel

The clearest standing instruction in the product is a block. Telling Connect never to message a particular contact on a particular channel is held as a tagged entry against that contact — the tag is what the directive reader looks at, and it reads **only** the tags, never the prose beside them.

That design decision is the reason a block holds. Because the instruction is a tag rather than a sentence, it applies to conversations that have not happened yet, on any channel it names, without depending on a model noticing a line of text in a long context. It also means the wording next to it is for you: writing *do not call, they asked us in March* changes nothing mechanically and everything for the next person who reads it.

> **Note** The same mechanism explains a limit. An instruction whose effect requires understanding a sentence is weaker than one expressed as something the code can check. Where a direction matters absolutely — never contact this person, never quote a price — prefer the setting that enforces it.

## Against its three neighbours

| Term | Answers | Set by | Enforced by |
|---|---|---|---|
| Standing instruction | What should Connect do, ongoing? | You, in words | Connect, when it reasons about the work |
| [Memory](/docs/glossary/memory/) | What is true about this business and these people? | You, or Connect learning | Nothing — it informs, it does not compel |
| [Rule](/docs/glossary/rule/) | What must never or always happen? | You, on the rules screen | Checked as part of behaviour, not left to judgement |
| [Autonomy](/docs/glossary/autonomy/) | May Connect act alone on this channel? | You, per channel and scope | The send boundary, before anything leaves |

The distinction that costs people most is the first two. *Our cut-off for same-day dispatch is 2pm* is a fact and belongs in memory or [knowledge](/docs/glossary/knowledge/); *tell anyone asking about dispatch to confirm by phone* is an instruction. Filing an instruction as a fact usually works, because a model reading a fact may still act on it — until the day it weighs it against something else. Filing a fact as an instruction produces the opposite failure: Connect does the thing even when the situation has changed, because you told it to rather than telling it why.

The other frequent mix-up is instruction against permission. No instruction grants authority. Writing *you may send invoices without asking me* does not change what the send boundary allows; the channel's autonomy mode does, and it is a setting rather than a sentence.

## Questions

### How do I cancel a standing instruction?

Find it and remove it. Directions held against a contact or a channel are visible in the memory viewer, which is reachable from the mailbox row, the channel screen and the contact panel, and anything shown there can be forgotten.

### Do standing instructions apply to every channel?

Only where you scoped them. The same narrowest-wins hierarchy autonomy and memory use applies: a direction against one contact beats one set for the channel, which beats one set for the workspace.

### Will Connect ever ignore one?

It can be outweighed, which is why absolute requirements belong in a rule or a permission rather than in prose. A block is the deliberate exception: it is checked as a tag rather than read as a sentence.

## Related

- [Memory](https://connectbyjbrh.com/docs/glossary/memory/)
- [Rule](https://connectbyjbrh.com/docs/glossary/rule/)
- [Autonomy](https://connectbyjbrh.com/docs/glossary/autonomy/)
- [Memory in Connect](https://connectbyjbrh.com/docs/memory/)
- [Making a correction actually change behaviour](https://connectbyjbrh.com/research/memory-correction-that-sticks/)

## What this page is based on

- `docs-source/facts.py` — CANONICAL_TERMS, Standing Instruction
- docs-source/sources/GENERAL.md §3 — blocking is a tagged memory row
- docs-source/sources/GENERAL.md §8 — the Assistant's Standing pane
