Experimental A2A extension

Exact Action Authorization v1

Continue an A2A task after human authorization without turning TASK_STATE_AUTH_REQUIRED into a blank check.

A2A 1.0Extension v1Status ExperimentalLicense Apache-2.0

The gap

A2A intentionally leaves authorization scope, representation, validity, and revocation to implementations or extensions. This profile binds a decision to the exact action class, principal, requesting agent, tenant, target, canonical input hash, constraints, expiry, and nonce.

proposed effect → AUTH_REQUIRED → exact action hash
                → single-use grant → atomic consume → execute once
                → receipt artifact → outcome evidence

Required rules

  1. A task-state transition alone never authorizes an effect.
  2. Changed target or input requires a new decision.
  3. Expired, revoked, consumed, or identity-mismatched grants fail closed.
  4. Pure validation is not authority; the executor atomically checks durable revocation and consumes the grant in a shared store before provider invocation.
  5. Only provider-confirmed completion produces a completed receipt.

Schemas and implementation

npm install @trust-graduation/core@beta
npm run example:a2a

This draft is not yet an official A2A extension. The next gate is two independent implementations passing mutation, expiry, revocation, identity, unchanged-grant replay, and simultaneous-consumer fixtures before an upstream proposal.