# Role contracts

URL: /agents/roles · Id: `page:agents/roles`

> A Role is a seat defined by its contract: purpose, results, standards, Limits, Mandates and autonomy, whoever fills it.

A [Role](/business/nouns/role) is a seat defined by its contract: why it exists, what judges it and how much it does alone. An [Agent](/business/nouns/agent) or a [Human](/business/nouns/human) fills it, under the same contract either way.

## The parts of a contract
Every Role page renders its contract from the registry, and a Role file in your repository holds the same parts under the same keys.

| Part | Key | What it says |
| --- | --- | --- |
| Why it exists | `purpose` | The seat's reason, in one sentence |
| Responsibilities | `responsibilities` | The standing duties, each one checkable |
| Results | `results` | The [Metrics](/business/nouns/metric) that judge the seat; each Metric has exactly one owning Role |
| How well | `standards` | Response times and quality bars |
| [Processes](/business/nouns/process) owned | each Process's `owner` | The ones it is accountable for, and those it works in |
| [Limits](/business/nouns/limit) | `limits` | How much it may do per call or per period before an [Approval](/business/nouns/approval) |
| [Mandates](/business/nouns/mandate) | `mandates` | The [Verbs](/business/nouns/verb) it calls without asking each time |
| Autonomy | `autonomy` | Its rung on [the ladder](/agents/autonomy#the-ladder), by decision class |
| Approvals | `approvals` | The Verbs the founder says yes to before they run |
| Schedule and [Channels](/business/nouns/channel) | `schedule`, `channels` | When it works unprompted, and where it answers |
| Also called | `aliases` | The founder's words for the seat, such as CFO or SDR |
| Filled by | `worker` | A role agent from the start, unless you seat a person |

A seat's [Permissions](/business/nouns/permission) are its Verbs and nothing else, so the contract is also the security boundary.

## The support seat, annotated
The [Customer Lead](/agents/customer/customer-lead) is the seat a founder means by "support agent". Each line of its contract does one job.

| Part | The Customer Lead | Why |
| --- | --- | --- |
| Why it exists | Every [Person](/business/nouns/person) who writes gets one answer, from the record, fast | Settles any trade-off between speed and thoroughness |
| Results | First response time, resolution time, agent resolution rate | The numbers its [Role Review](/business/nouns/role-review) reads |
| How well | First answer within one business hour; four in five resolved without a hand-off | The bar a missed review cites |
| Limits | 500 answers a day | A runaway loop stops at a count, not at your inbox |
| Mandates | Answer [Conversations](/business/nouns/conversation) and send [Messages](/business/nouns/message), through the [Guards](/business/nouns/guard) | It never asks before replying |
| Autonomy | `supervised`; `full` on `low` decisions; `assist` on `high` | Refund promises and policy exceptions wait; routine answers do not |
| Channels | Email, chat, SMS, social | Where customers reach it |
| Hands off to | [Billing Specialist](/agents/finance/billing-specialist) for refunds, [Privacy Officer](/agents/legal/privacy-officer) for data requests | Money and privacy stay with the seats that own them |

To let it refund small amounts on its own, [give it a refund Limit](/agents/let-an-agent-refund).

## Change a contract
A [Startup](/business/nouns/startup) inherits every contract from its [Template](/business/nouns/template). Ask for a change in a sentence, such as having the Billing Specialist call every [Customer](/business/nouns/customer) whose payment fails twice. It lands as one [Change](/business/nouns/change), reviewed like any other.

```mdx
---
responsibilities:
  - Retries failed payments on the dunning schedule.
  - Calls every Customer whose payment fails twice.
handsOffTo: [customer-lead, finance-lead]
---
```

The file lives at `agents/finance/billing-specialist.mdx` and holds only what differs. See the [file convention for Roles](/code/file-conventions/roles).

## Every seat
The [chart](/agents/org-chart) shows every [Team](/business/nouns/team) and its seats, and the [roster](/agents/roster) lists each Role with its default agent. Each Team's lead holds the contract its other seats escalate to, and the leads escalate to the [Founder](/agents/founding/founder).