# Glossary - one meaning per word

| term | meaning (use exactly this) | not |
|---|---|---|
| **authorization** | the answer to one `POST /authorize`: a `decision` plus its evidence; in `binding` mode a single-use, expiring, revocable record (`auth_...`) | a payment, a transaction |
| **decision** | `AUTHORIZED` / `APPROVAL_REQUIRED` / `DENIED` / `NEEDS_INFORMATION` | HTTP status, "verdict", "approval" |
| **status** | lifecycle state of a binding authorization: `AUTHORIZED`, `APPROVAL_PENDING`, `CONSUMED`, `EXPIRED`, `REVOKED`, `APPROVAL_REJECTED`, `DENIED`, `NEEDS_INFORMATION`; dry runs: `DRY_RUN` | decision |
| **dry run** | `mode: dry_run` (default) - a real decision from the real engine, nothing issued or reserved | "simulation", "test mode" |
| **binding** | `mode: binding` - issues the authorization; requires `Idempotency-Key` | "commit", "execute" |
| **standing authority** | what the owner granted the agent in advance: an ACTIVE **standing policy** (per-action ceiling, ask-first line, categories, merchants, recurrence) on top of the organization's granted ceiling (the sandbox **wallet**) | "budget", "allowance" |
| **wallet** (API object) | the organization's granted spending ceiling and, in the sandbox, simulated funds; the root of the authority chain. Legacy object name kept for API stability | a card, a bank account |
| **ask-first line / autonomous ceiling** | `policy.transaction_auto_limit` -> `autonomous_maximum_minor`. Above it (and within the per-action ceiling) -> `APPROVAL_REQUIRED`. `0` = ask first for everything; unset = equal to the per-action ceiling | the per-action ceiling |
| **per-action ceiling** | `policy.transaction_limit`. Above it -> `DENIED` (no approval can widen it) | ask-first line |
| **task** | structured constraints sent with the request (`task.max_amount_minor`, `merchants`, `prohibited_side_effects`...) that **narrow** standing authority for this action | a free-text prompt (that is an *intent*) |
| **intent / compiled intent / envelope** | a human statement (`POST /intents/compile`) compiled into an immutable `CompiledIntent` and an `AuthorityEnvelope` (`env_...`) with typed dimensions; cited on `/authorize` as `envelope_id` | a task constraint object |
| **effective authority** | the intersection of organization, standing, task / envelope and delegated authority; `effective_maximum_minor` + `binding_layer` (which layer set the ceiling) | "remaining budget" |
| **binding layer** | `organization`, `agent_standing`, `task`, `envelope`, `delegation`, `ttl` | "binding mode" |
| **commitment (class)** | `ONE_TIME`, `RECURRING`, `SUBSCRIPTION`, `AUTO_RENEWAL`, `ACCOUNT_CREATION`, `CONTRACT`, `WARRANTY`, `TRIAL_THAT_CONVERTS`, `UNKNOWN_COMMITMENT` | "recurring: true" (legacy flag) |
| **action class** | `NON_CONSEQUENTIAL_RESEARCH`, `EXTERNAL_COMMUNICATION`, `DATA_DISCLOSURE`, `PAYMENT`, `ECONOMIC_COMMITMENT`, `DELEGATION` | action_type |
| **action type** | `purchase` (default), `payment`, `subscription`, `service_call`, `marketplace_purchase`, `hire_agent`, `economic_action` | action class |
| **latest safe question** | the ONE `question` for the human, asked only at the consequence point, with `safe_actions_remaining` | a list of clarifications |
| **missing authority** | `missing_authority[]` - `dimension`, `needed`, `have`, `how_to_obtain` (`declare_on_request`, `owner_approval`, `owner_amendment`, `policy_change`) | a denial |
| **approval** | a pending human decision (`apr_...`) on a binding `APPROVAL_REQUIRED` authorization, decided in the owner *Approvals* inbox | the `AUTHORIZED` decision |
| **execution** | performing the action. `external`: you do it; `quattrino`: a sandbox adapter does it | authorization |
| **execution adapter** | optional sandbox rails under the authority layer: Credits marketplace (agent-to-agent), Stripe Shared Payment Token test merchant, x402 testnet | "payment method" |
| **outcome** | your executor's report (`/outcome`) - consumes the authorization once; produces `compliance` | "receipt" |
| **compliance** | `COMPLIANT` / `NONCOMPLIANT` + `findings[]` comparing outcome vs authorized terms; unreported dimensions are `unverified` | the decision |
| **portable proof** | signed EdDSA JWS carried by binding + `AUTHORIZED` + `external` authorizations; verified without a credential at `/authorizations/verify` | the authorization id |
| **reason code** | stable `code` with `family`, `severity`, `message`, `remedy` from the public registry (`1.0.0`) | free text |
| **agent API key / agent credential** | `qtrn_sk_key_<id>_<secret>`; header `X-API-Key` or `Authorization: Bearer`; scoped, revocable, shown once | owner session token, `acos_sk_` (legacy prefix, still accepted) |
| **owner** | the human / organization account (`POST /auth/signup`, session token) that grants, approves, amends and revokes | the agent |
| **delegation / delegated authority** | an owner grants root authority (`dauth_...`); a parent agent re-delegates a **narrower** slice; children never exceed parents; cited as `delegated_authority_id` | sharing an API key |
| **disclosure** | purpose-bound release of owner data scopes (`shipping_address`, `email`...) -> `RELEASE` / `RELEASE_ONCE` / `RELEASE_REDACTED` / `ASK_OWNER` / `DENY` | sending PII in a payload |
| **sandbox / TEST** | the only environment today: real engine, simulated money, sandbox proof issuer | production |
| **Authorization Units** | neutral usage meter; pricing **not activated** | a fee |

Money is always **integer minor units** (`1999` = $19.99) in a field ending in `_minor`.
