Troubleshooting
What a refusal means and what to do about it.
When this product says no, it says no with a refusal class — a short, stable, hyphenated name such as egress-port-not-allowed or actor-near-miss. The class is the thing to search for. It is chosen deliberately, it does not change when the wording around it changes, and it is the one part of a refusal worth copying into a search box.
There are 124 refusal classes in the product today. This section carries all of them.
How to read a refusal
- Find the class. It is the hyphenated token in the message, and it is also written into the record of what happened. Where the two disagree, the record is the one to trust: a client's error string is often generic, and several different judgements can produce the same sentence.
- Look it up. Every refusal class, A to Z lists all 124 with the family page that covers each one.
- Read what the refusal itself printed before you change anything. Many refusals in this product are self-diagnosing: they print the exact argument to re-run with, or a literal command to fix custody, or the next act the record allows. Following the printed instruction is usually the whole fix, and guessing past it is how a small problem becomes a signed mistake.
- A refusal means nothing was written. That is the normal contract here: a refused act does not half-apply. You can re-run once you have changed the thing that was refused.
⚠ A refusal is not a crash. Every one of the 124 classes is a decision the product made on purpose. If you are holding a class name, you are holding evidence that a check ran and answered — not evidence that something broke.
What this section can and cannot tell you
We would rather leave a page honest than fill it. So each class here is in one of two states:
- explained — this section says what it means, what caused it, and what to do. 36 classes are in this state.
- named only — this section confirms the class exists and what its name indicates, and says plainly that the resolution is not written down yet. 88 classes are in this state, and they are collected on the last page of this section.
⛔ We do not publish a remedy we cannot support. A wrong instruction on a page like this sends you to do something harmful, so an unwritten answer is preferred to an invented one. If you need one of the 88, ask us — that request is what moves a class from the second list to the first.
The families
| family | classes | explained |
|---|---|---|
| Identity and actors — who is acting, and the keys and ceremonies that prove it | 21 | 7 |
| Machines and seats — admitting a machine, seating work on it, retiring it | 42 | 4 |
| Dispatch and capacity — why work went to one place and not another, or nowhere | 8 | 0 |
| The record and gates — the workspace, its log, and the decisions written into it | 14 | 2 |
| The network path — what a run may reach, and why a connection was refused | 18 | 17 |
| The console — the browser surface and the acts it offers | 11 | 4 |
| Documents and contracts — signed instructions and schema versions | 10 | 2 |
| What is not yet explained — the 88 named-only classes in one list | — | — |
124 classes in, 124 classes out. 21 + 42 + 8 + 14 + 18 + 11 + 10 = 124, and no class appears in two families.
Worked examples
The commands, in the order the money actually moves: price it, check capacity, compose it, then read what it cost — and two refusals that cost nothing.
Every refusal class, A to Z
All 124 refusal classes the product declares, each with its family and whether this section explains it yet.