People search “AI agent charter” after someone said the word in a meeting and nobody wrote the fields down. A prompt is not a charter. A Slack thread is not a charter. A vendor card titled “agent” is not a charter.
What is an AI agent charter? A written contract for one worker. Seven fields. If you cannot fill them, you do not have an agent you can run. You have a demo that can spend money.
What is an AI agent? owns the worker. This page owns the seven fields.
The seven fields
Same list I use for human operators in CHORUS. Agents do not get a softer contract.
- Purpose. One job, in a sentence a reviewer can fail. “Be helpful” is not a purpose.
- Inputs. Named sources, dated if they move. Today’s sheet, not “the customer data.”
- Outputs. What leaves the worker: a draft, a skip with a reason, a patch. Not “value.”
- Authority ceiling. Draft only, or send. No new discount. No legal threat. Write the no.
- Success criteria. Observable. “Every draft names the invoice number and the true amount. A skip is valid if the row is disputed.”
- Review requirement. A named person who can fail the work. “The team” is not a person.
- Escalation. Where a dispute, a tool error, or a spend near the ceiling goes, before a retry loop starts.
Filled, for a refund-triage worker:
- Purpose. Clear the refund queue to a decision, without granting one.
- Inputs. Today’s ticket export. The refund policy version in force this month.
- Outputs. Per ticket: approve-recommended, decline-recommended, or escalate, each with the policy clause cited.
- Authority ceiling. Recommend only. No refund issued. No policy exception. No goodwill credit.
- Success criteria. Every recommendation cites a clause that exists in this month’s policy.
- Review. Support lead fails any recommendation citing a clause that is not there.
- Escalation. Anything over the goodwill threshold, or any ticket naming a chargeback, goes to the lead unrecommended.
That is a charter. A system prompt that says “you are a helpful refund agent” is not.
What sits beside the charter
Override doctrine is the refuse-list even when the charter is silent. Start with three categories: money, identity, irreversibility. Override doctrine owns that list. Do not hide it in the purpose line.
Standing context versus run input. The charter, the refuse-list, and house facts change on purpose, with a diff. Today’s rows are run input. Mixing them is how stale data survives. Using AI agents effectively is that operating loop.
What this page is not
It is not the three tests for chatbot versus agent. It is not a SENSE 90-day install. It is not a runtime.
If the seven fields are empty, do not argue about models. Fill the card, or keep the key.