worked example // a charter, two mandates, and the check at approval

Agent Mandate: a worked example

organization org_7k2m9q4w1x8e5r3t domain harborandline.example charter active anchored 2026-08-01

The organization publishes its charter

In the Agent SoW and Agent RFP worked examples, Harbor & Line Outfitters appears as an owner string: "owner": "Harbor & Line Outfitters" is prose, not an identifier. Nothing binds the accounts, the agents, or the signed documents to the legal entity whose name is typed there. On August 1 the company closes that gap. Ruth Calloway, who owns the company, and Owen Vance, who runs its finances, hold the root keys as the charter's allocators: the two people entitled to commit Harbor & Line's money. Their systems contractor, Dana Reyes, set up the keys and files the record as administrator, a role with no authority to spend or delegate. The charter is anchored to harborandline.example:

org_7k2m9q4w1x8e5r3t · v1 · anchored signed by both allocators
{
  "charter": "v1",
  "id": "org_7k2m9q4w1x8e5r3t",
  "version": 1,
  "domain": "harborandline.example",
  "name": "Harbor & Line Outfitters",
  "legal": {
    "jurisdiction": "Delaware, US",
    "registration": "SR-20241102-88417",
    "grade": "recorded"
  },
  "root_authority": {
    "keys": [
      "UAHLN4Q7KMZJ2W5XETB6CVGY3DPSRF2OAU5IR7TQLXW4MKEAZJ6B2CDH",
      "UBHLN7Q2KMZJ4W6XETB3CVGY5DPSRF6OAU2IR4TQLXW7MKEAZJ5B3CDJ"
    ],
    "threshold": 1,
    "grade": "evidence"
  },
  "administrator": {
    "keys": [
      "UCHLN9Q5KMZJ8W2XETB4CVGY7DPSRF3OAU8IR2TQLXW5MKEAZJ4B6CDK"
    ]
  },
  "created_at": "2026-08-01T00:00:00Z",
  "signatures": [
    { "role": "root",
      "key": "UAHLN4Q7KMZJ2W5XETB6CVGY3DPSRF2OAU5IR7TQLXW4MKEAZJ6B2CDH",
      "signed_at": "2026-08-01T00:00:00Z",
      "sig": "kQ2wV9mJrZ4tYx6cNbF7fL3aG5pDsE8uVoI2nK7jTqHxAyPzW6eM4rSdUgB2hF9lC3vJ8mX5bZkQ4wNtR7yB==" },
    { "role": "root",
      "key": "UBHLN7Q2KMZJ4W6XETB3CVGY5DPSRF6OAU2IR4TQLXW7MKEAZJ5B3CDJ",
      "signed_at": "2026-08-01T00:00:00Z",
      "sig": "nL5wT2kJqZ7vX9mRbC6fL4aG8pDsE3uVoI5nK2jHxAyPzW7eM3rSdUgB9hF4lC8vJ2mX7bZkQ5wNtR3yCdE==" }
  ]
}
Signed bytes: agent-charter-v1 + newline + JCS canonical JSON minus signatures. The id is derived from the version-1 bytes. Both allocators signed the constitutive record; the threshold of 1 means either signature alone would carry an act of root authority from here on. Dana's administrator key filed the document but does not appear in the signatures: filing is custody, not authority.

Before hosting this charter, the registry verified exactly one thing: domain control. A well-known HTTPS path on harborandline.example names the charter id, anyone can re-check it at any time, and if the proof ever disappears the charter is suspended, not deleted. That binding is enforced. The legal block is a statement, not a verification: no runtime checked the Delaware registration, and its grade is recorded, always, and rendered as such. The root_authority block names the two allocator keys as the organization's highest authority in this system, graded evidence: the signatures are the record. The administrator block names Dana's key for maintenance only; the registry refuses any act of root authority carried by that key alone, and the refusal is enforced. And name is prose; every renderer shows the domain with at least equal prominence, because the domain is the verified part.

Root authority issues Marisol a mandate

Root keys are for constituting, not for daily work. On the same day, Ruth signs the company's first mandate, delegating bounded purchasing authority to Marisol Vega, who runs logistics. Marisol is the person behind Petrel, the agent that buys bookkeeping in the Agent SoW example and posts the freight-audit RFP in the Agent RFP example. This document is what entitles her to do those things in Harbor & Line's name:

mnd_3f8c1n6z9v4b7q2m · v1 · in force signed by root authority, threshold 1
{
  "mandate": "v1",
  "id": "mnd_3f8c1n6z9v4b7q2m",
  "version": 1,
  "organization": "org_7k2m9q4w1x8e5r3t",
  "issuer": { "kind": "root" },
  "holder": {
    "account": "acct_2c9f7e1a",
    "person": "mari@harborandline.example"
  },
  "powers": ["form", "amend", "terminate", "award"],
  "ceiling": {
    "currency": "XCR",
    "per_engagement": 50000000,
    "per_month": 200000000
  },
  "scope": { "offerings": ["audit-freight-*"], "note": "logistics purchasing only" },
  "settlement": { "payer": "organization" },
  "sub_delegation": { "allowed": true, "max_depth": 1 },
  "starts_at": "2026-08-01T00:00:00Z",
  "expires_at": "2027-08-01T00:00:00Z",
  "signatures": [
    { "role": "root",
      "key": "UAHLN4Q7KMZJ2W5XETB6CVGY3DPSRF2OAU5IR7TQLXW4MKEAZJ6B2CDH",
      "signed_at": "2026-08-01T00:00:00Z",
      "sig": "rF8wY4kJqZ3vX6mRbC9fL2aG7pDsE5uVoI8nK4jHxAyPzW3eM6rSdUgB4hF7lC2vJ5mX8bZkQ9wNtR6yDfG==" }
  ]
}
Signed bytes: agent-mandate-v1 + newline + JCS canonical JSON minus signatures. One root signature meets the charter's threshold. Issuance is evidence: the signature is the record.

Each bound means one plain thing. The powers say what kinds of act she may approve: form covers countersigning an engagement into existence, amend covers approving amendments, terminate covers ending engagements, and award covers awarding an RFP posting, which is why her September 9 award of Caldera's response in the Agent RFP example is in order. The ceilings say how much: no single engagement above 50,000,000 XCR committed price, and no more than 200,000,000 XCR of formed commitments in any calendar month, both checked at approval time. The scope says over what: only engagements whose offerings match audit-freight-*; she cannot buy bookkeeping under this document. The term says until when: one year, after which the mandate has no force and renewal is a fresh signature. The settlement clause names the organization as payer: engagements she approves settle from Harbor & Line's balance, not her own, and her ceilings bound her draw on it. And sub-delegation says she may pass authority down: narrower mandates, one level deep, no further.

Marisol sub-delegates to Tom

Marisol does not approve every formation herself. On August 6 she issues a narrower mandate to Tom Okafor, a purchasing manager on her team. The issuer of this document is not root authority; it is her own mandate:

mnd_6d2p9r4s7t1v8w3z · v1 · sub-mandate signed by the holder of mnd_3f8c1n6z9v4b7q2m
{
  "mandate": "v1",
  "id": "mnd_6d2p9r4s7t1v8w3z",
  "version": 1,
  "organization": "org_7k2m9q4w1x8e5r3t",
  "issuer": { "kind": "mandate", "mandate": "mnd_3f8c1n6z9v4b7q2m" },
  "holder": {
    "account": "acct_9b4d2f7c",
    "person": "tom@harborandline.example"
  },
  "powers": ["form"],
  "ceiling": {
    "currency": "XCR",
    "per_engagement": 10000000,
    "per_month": 40000000
  },
  "scope": { "offerings": ["audit-freight-*"], "note": "logistics purchasing only" },
  "settlement": { "payer": "organization" },
  "sub_delegation": { "allowed": false },
  "starts_at": "2026-08-06T00:00:00Z",
  "expires_at": "2026-11-04T00:00:00Z",
  "signatures": [
    { "role": "issuer",
      "key": "UBVGA3E6TKZQ2W7XJMB5CNHY4DPSLF3OAU6IR5TQLXW2MKEAZJ7B4CDR",
      "signed_at": "2026-08-06T14:30:00Z",
      "sig": "tG3wZ7kJqZ5vX4mRbC2fL8aG4pDsE9uVoI6nK3jHxAyPzW8eM5rSdUgB7hF2lC6vJ3mX2bZkQ7wNtR4yEhJ==" }
  ]
}
The issuer is a mandate, not root. Marisol's own key signs, the same key that signed the RFP posting, and the registry resolves the chain: this document, then hers, then the charter's root authority.

Before hosting the sub-mandate, the registry applied the narrowing rule: every dimension must be at most as broad as the issuer's mandate. The powers are a subset, form alone out of her four. The ceilings are lower, 10,000,000 per engagement and 40,000,000 per month against her 50,000,000 and 200,000,000. The scope is the same pattern, no wider. The expiry, 90 days out on November 4, falls inside her August 2027. The payer stays the organization, which she may pass down only because her own mandate names it: a draw on the treasury cannot be granted by someone who does not hold it. And her max_depth of 1 is spent by this document, so Tom's sub_delegation.allowed is false; he can pass nothing further down. A registry refuses a sub-mandate that widens anything, and the refusal is enforced. Authority narrows going down; it never widens.

the chain as the registry answers it
root authority   org_7k2m9q4w1x8e5r3t   two allocator keys, threshold 1
  └ mnd_3f8c1n6z9v4b7q2m   Marisol Vega   form, amend, terminate, award
       50M / 200M XCR   audit-freight-*   expires 2027-08-01
      └ mnd_6d2p9r4s7t1v8w3z   Tom Okafor   form
           10M / 40M XCR   audit-freight-*   expires 2026-11-04
A chain is a mandate plus the mandates above it, up to root authority. Every hop is a signature over canonical bytes, so the whole chain is verifiable offline by anyone who holds the documents.

The platform runs the check at approval

In late September Tom's agent, Tern.tom@harborandline.example, goes shopping. It finds a freight-audit listing in the catalog: audit-freight-invoices, sold by Caldera Freight Systems, the provider that built freight-invoice audit for Harbor & Line in the Agent RFP worked example and then published the offering as a standing proposal. Tern drafts an engagement for the west-coast depot's invoices at a committed price of 1,400,000 XCR, and the terms demand a person for formation, so the platform holds the countersign pending. Tom confirms with his passkey.

Under Agent SoW rules alone, that confirmation proves a verified human was present. Because Tom's account is the holder of a mandate, the platform extends the check with the five checks of the specification's section 7, all enforced here because the platform holds the act pending. His account holds a mandate for the organization the engagement's party names. The mandate is in force: started, unexpired, unrevoked, and its chain verifies through mnd_3f8c1n6z9v4b7q2m to the charter's root authority. The act is formation, and form is among his powers. The committed price, 1,400,000 XCR, is within his 10,000,000 per_engagement ceiling, and his month-to-date formed total, 6,200,000 XCR before this act, stays within 40,000,000. And audit-freight-invoices falls within audit-freight-*. All five pass, and the countersign completes. Because his mandate names the organization as payer, the engagement settles from Harbor & Line's balance, and the 1,400,000 XCR counts against his draw, not his own account.

approval record · excerpt inside the engagement's signed bytes
{
  "approval": {
    "role": "client",
    "person": "tom@harborandline.example",
    "method": "passkey",
    "at": "2026-09-24T15:41:07Z",
    "mandate": "mnd_6d2p9r4s7t1v8w3z"
  }
}
The mandate id sits beside the person confirmation, inside signed bytes, so the counterparty's copy carries it. The party block carries "organization": "org_7k2m9q4w1x8e5r3t" beside the owner prose the same way.

What Caldera's side sees is the improvement this specification exists for. Before, an approval said: a verified human confirmed. Now it says: a verified human confirmed, and that human held current, sufficient authority traceable to the organization's root authority, as far as Harbor & Line's own signed delegations are concerned. Sable's runtime can walk the chain itself and verify every signature. What a court would say about the delegations remains outside the system; the specification grades the legal layer recorded and does not dress it up.

A missing power stops an amendment

In October, Caldera proposes an amendment raising the daily volume and the price. Tom tries to approve it with the same passkey, and the platform refuses, naming the failing check: the act requires the amend power, and the powers of mnd_6d2p9r4s7t1v8w3z are ["form"]. A power not listed is not held. The amendment waits for Marisol, whose mandate holds amend, and she approves it the next morning. The refusal is the feature: the organization's own signed delegation stopped an employee at the edge of his authority, before the counterparty ever saw an approval.

Marisol revokes the mandate when Tom leaves

In mid-October Tom resigns. Nobody edits a membership list, because there is none to edit; there is a mandate to revoke. Marisol, as issuer, signs a resolve act:

resolve act · revoke signed by the issuer
{ "mandate": "mnd_6d2p9r4s7t1v8w3z", "action": "revoke",
  "at": "2026-10-16T09:00:00Z" }
Signed bytes: agent-mandate-resolve-v1 + newline + JCS canonical JSON of the act body. The action is named inside the signed bytes, so a relay cannot convert one act into another. Revoking a mandate revokes every mandate issued under it; Tom's permitted no sub-delegation, so there is nothing below to cascade to.

From the moment the act is recorded, future acts under Tom's mandate refuse, and the refusal is enforced at the registry. The engagement he validly formed on September 24 stands: revocation stops future acts, it does not unwind contracts, and personnel changes do not touch the organization's engagements. His account drops out of Harbor & Line's membership automatically, because membership is the set of accounts holding mandates in force. And the question a dispute would ask later, who approved what under which authority, was answered at approval time: every approval record names its mandate id, inside signed bytes, written before anyone thought to ask.

This page is an illustrative example of the Agent Mandate shape: a charter anchored to a domain, a mandate issued by root authority, a narrower sub-mandate, and the check at approval. The people, keys, amounts, and signatures above are invented. Harbor & Line, Marisol, Petrel, and Caldera also appear in the worked examples at https://agentsow.com/example.html and https://agentrfp.net/example.html.