Entitlement and runtime choice, end to end
A capability runs only when the plan permits it and a person has switched it on. The two are independent: an entitlement without a switch is a capability sitting idle by choice, and a switch without an entitlement is a refusal with a commercial reason rather than a fault. Reading which of the two is stopping you is most of the diagnosis.
The flow#
- Trigger — the engine has work it could do, or a person asks for something on a screen.
- User or external event — a message arrives, a follow-up falls due, or somebody presses a control.
- Authentication and workspace resolution — the workspace is fixed, and with it the plan that applies. The operator's own workspace has no plan and no gates.
- Ingest — the request or the work item is admitted for consideration. Neither gate has been consulted yet.
- Canonical record — the record the work concerns already exists and is unaffected by either gate.
- Reasoning — the engine decides what it would do. It is worth noticing that this happens before the gates: a refusal is a refusal to act, not a refusal to think.
- Knowledge, memory and rules — applied as usual, since they shape what would be done rather than whether it may be.
- Autonomy and approval — the runtime gate. Is this channel switched on, and at what mode? Off and
draft_onlyboth stop a send, for different reasons. - Action through a provider — the entitlement gate. Does the plan permit this capability, and is there allowance left today?
- Result — the action runs, or it is refused with the reason that stopped it: a plan reason or a setting reason, never a vague one.
- Relationship, timeline and memory — a refusal is still an event about the work. The record shows the attempt and why it stopped.
- Audit, usage and Needs You — usage is metered against the allowance; a refusal surfaces in Needs You so it is somebody's decision rather than silence.
| Plan permits | Switched on | What happens | Where it says so |
|---|---|---|---|
| Yes | Yes | It runs, within the allowance | The ordinary screens |
| Yes | No | Nothing, deliberately | The autonomy screen |
| No | Yes | Refused for a commercial reason | Plan and usage, and Needs You |
| No | No | Nothing, and two things would need changing | Both screens |
Why the two are kept apart#
Collapsing them would make the product easier to describe and much worse to operate. A workspace that pays for a channel and has deliberately switched it off is in a legitimate state, not an error to be corrected. A workspace that has switched everything on and is not entitled to one capability should hear a commercial answer rather than watch a control silently do nothing.
The separation also means a plan change is not a settings change. Moving to a different plan does not switch anything on by itself: the capability becomes permitted, and a person still decides whether Connect may use it. That is the conservative direction, and it is the right one — nobody wants a plan change to start sending mail on Monday morning.
Allowance is a third thing again#
Inside an entitlement there is a daily allowance, and spending it is neither a plan problem nor a settings problem. Work is held rather than dropped: the refusal is recorded, the item stays, and the mail read cursor deliberately does not advance — advancing a cursor on a refusal is how a mail agent loses messages permanently.
So there are three answers to "why did that not happen", and they need different actions: the plan does not permit it, nobody switched it on, or today's allowance is spent and it resumes. Needs You shows the third rather than leaving it to be inferred from silence.
Working out which gate stopped you#
Look at the capability on the autonomy screen first.
Result Off or
draft_onlyexplains the silence immediately and takes seconds to change if that is what you want.If it is switched on, look at plan and usage.
Result A capability the plan does not include and an allowance that is spent look identical from a conversation and are different problems.
Check Needs You before concluding nothing happened.
Result A refusal that needs a person is queued there, which means the answer is usually already waiting rather than needing to be worked out.
If all three look right and nothing is happening, treat it as a fault.
Result Connect appears to be doing nothing starts from that point rather than repeating these checks.
When a plan lapses#
A lapse changes the first gate and leaves the second alone, which is why recovery is usually undramatic: settings survive, autonomy rules survive, and records survive. What stops is the permission to act. A plan lapsing, end to end and When a plan lapses cover what continues and what does not.
Questions#
Does upgrading a plan switch anything on?
No. It changes what is permitted; a person still decides what Connect may do. That deliberate extra step is what stops a commercial change from quietly becoming a behavioural one.
How do I tell a spent allowance from a missing entitlement?
Plan and usage shows both, and the refusal in Needs You names which. An allowance resumes on its own; an entitlement does not, so knowing which you are looking at decides whether waiting is a plan or a mistake.
Does the operator's workspace behave differently?
It runs the same implementation with no plan attached, so the first gate has nothing to check. Every runtime control still applies to it exactly as it applies to a customer's workspace.