Skip to content
AIPDocs
AIP 1.055 pagesGetting started
Release status
DocumentationAIP 1.0Getting startedStart Here

How AIP Works

AIP turns a request into a governed, observable unit of work. The protocol does not assume that work finishes in one HTTP response or that the caller and the system performing the work share the same technology stack.

The Request Path

sequenceDiagram
    participant C as Client or Agent
    participant G as AIP Gateway
    participant P as Policy and Identity
    participant R as Durable Runtime
    participant X as Connector or Native Handler

    C->>G: Discover manifest
    G-->>C: Capabilities and contracts
    C->>G: Action envelope
    G->>P: Authenticate and authorize
    P-->>G: Allow, deny, or require approval
    G->>R: Reserve action and idempotency key
    R->>X: Invoke with trusted execution context
    X-->>R: Chunks, result, or uncertain outcome
    R-->>C: Result, stream, or callback
    C->>G: Query status, events, receipts
    G-->>C: Durable operational view

1. Discovery

A participant publishes a manifest. Each capability includes an input schema and may include output, risk, side-effect, approval, idempotency, data, service level, transaction, and compensation contracts.

Discovery lets a caller answer two questions before sending work:

  • Can this participant perform the operation?
  • Under what safety and lifecycle conditions will it perform it?

2. Authentication and Trusted Context

An envelope may contain a from principal, but that field is a claim. The edge authenticates the transport identity and creates trusted execution context. AIP then resolves tenant membership, credential references, scopes, and delegated authority from server-controlled data.

Connectors receive this frozen context. They must not trust a tenant id, credential handle, or approver identity merely because it appeared in user input.

3. Action Admission

The gateway validates the envelope, capability contract, input schema, invocation mode, deadline, idempotency rules, and policy decision. Admission is atomic with the handler catalog: a manifest cannot advertise a callable capability unless an admitted handler owns it.

The runtime then reserves the action. Duplicate idempotency keys follow the capability’s declared collision policy; they are not treated as new work.

4. Execution

An action can be synchronous, asynchronous, or streaming.

  • Synchronous returns a final result in the request path.
  • Asynchronous returns acceptance and continues through a durable worker.
  • Streaming emits ordered chunks before a terminal result.

Cancellation is cooperative and capability-specific. The runtime records the request even when a provider cannot confirm cancellation immediately.

5. Human Approval

When policy requires approval, the runtime creates a durable approval request and parks the action. A trusted authority resolver verifies the approver and the applicable rule. An approved decision resumes the same governed action; the caller does not submit a replacement operation with different input.

6. Transactions

Sensitive mutations may use dry_run, plan, commit, compensate, or reconcile. A plan binds the capability, input hash, identity, policy, and transaction id. Commit is accepted only for the same immutable operation.

If a provider may have committed but the response was lost, the runtime records outcome_unknown. It reconciles provider state before retrying or compensating.

7. Delegation

Delegation creates a child action linked to a parent action. AIP carries the delegation scope and chain across the trust boundary, routes the request to an authenticated peer, and correlates the child’s result with the parent graph. The child is still a normal AIP action with policy, lifecycle, cancellation, events, and receipts.

8. Evidence and Recovery

The runtime stores lifecycle events, stream chunks, approval state, transactions, callback attempts, and receipt chains. Clients and operators use query APIs instead of inferring state from logs or retrying blindly.

This separation is central to AIP: the response tells a caller what happened in one exchange; the operational read model tells authorized readers what the system currently knows.