AAuth Explorer
missionsPhase 12

Full Mission Lifecycle (End-to-End)

The complete mission lifecycle in a four-party deployment, from PS discovery to resource access. The mission is approved with a person token attached for the resource it named; the agent presents that person token at the resource's authorization endpoint; mission_s256 flows person token → resource token → auth token, one digest the whole way.

§ Mission Lifecycle
AgentResourcePerson ServerAccess ServerUser1Discover PS metadata2002POST /mission (sig=jwt) → 2…3User reviews mission at int…4Poll /pending/e2e9f3c7 → 20…5POST /authorize with the mi…6POST /token → PS federates …7GET /data with the auth tok…
GET https://ps.example/.well-known/aauth-person.json200

The agent fetches PS well-known metadata to discover the endpoints it needs.

mission_endpoint is where the agent proposes missions, and where it later POSTs updates and its completion proposal at {mission_endpoint}/{mission_s256}.

person_token_endpoint is REQUIRED in -11: every PS MUST publish one and MUST issue person tokens from it.

auth_token_endpoint was called token_endpoint before -11.

mission_control_endpoint is the control plane — where parties other than the owning agent read and manage missions. Its operations are left to a companion specification.

1 / 7
speed

Step 1: Discover PS metadata

Request / response
Token Lifecycle
Person Tokenaa-person+jwt
Resource Tokenaa-resource+jwt
Auth Tokenaa-auth+jwt
Mission Approval Timeline
Approved Mission Blob

Description (Markdown)

# Analyze Q2 Customer Feedback

Read customer feedback records and produce a summary report with sentiment analysis and key themes.

Blob Members

approverhttps://ps.example
approved_at2026-04-14T17:14:54Z
expires_at2026-05-14T17:14:54Z
approved_resourceshttps://api.example

The blob is what the digest covers. approver lives here and nowhere else — no token carries it.

Mission Identifier

mission (base64url)

eyJhcHByb3ZlciI6Imh0dHBzOi8vcHMuZXhhbXBsZSIsImFnZW50IjoiYWF1dGg6bG9jYWxAYWdlbnQuZXhhbXBsZSIsImFwcHJvdmVkX2F0IjoiMjAyNi0wNC0xNFQxNzoxNDo1NFoiLCJleHBpcmVzX2F0IjoiMjAyNi0wNS0xNFQxNzoxNDo1NFoiLCJkZXNjcmlwdGlvbiI6IiMgQW5hbHl6ZSBRMiBDdXN0b21lciBGZWVkYmFja1xuXG5SZWFkIGN1c3RvbWVyIGZlZWRiYWNrIHJlY29yZHMgYW5kIHByb2R1Y2UgYSBzdW1tYXJ5IHJlcG9ydCB3aXRoIHNlbnRpbWVudCBhbmFseXNpcyBhbmQga2V5IHRoZW1lcy4iLCJhcHByb3ZlZF90b29scyI6W3sibmFtZSI6IkZlZWRiYWNrUmVhZGVyIiwiZGVzY3JpcHRpb24iOiJSZWFkIGN1c3RvbWVyIGZlZWRiYWNrIHJlY29yZHMifSx7Im5hbWUiOiJSZXBvcnRXcml0ZXIiLCJkZXNjcmlwdGlvbiI6IldyaXRlIHRoZSBzdW1tYXJ5IHJlcG9ydCB0byB0aGUgc2hhcmVkIGRyaXZlIn1dLCJhcHByb3ZlZF9yZXNvdXJjZXMiOlsiaHR0cHM6Ly9hcGkuZXhhbXBsZSJdfQ

s256

7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg

s256 is not a blob member. It is BASE64URL(SHA-256()) of the bytes mission decodes to, returned alongside it so the agent can verify the digest covers an unambiguous byte sequence. It travels as the mission_s256 claim of person, resource and auth tokens.

Approved Tools

FeedbackReader

Read customer feedback records

ReportWriter

Write the summary report to the shared drive

PS Capabilities

interactionclarification
s256 Chain
Mission blob bytesPS serializes the approved mission once and persists those exact bytes

7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg

s256 = BASE64URL(SHA-256(bytes)). The PS returns the same bytes base64url-encoded as the `mission` member, so the agent can recompute the digest itself.

mission_s256 in the person tokenPS stamps it when the agent names the mission at the person token endpoint

7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg

The agent asks for a person token with mission_s256; the PS verifies the mission exists, is active and belongs to this agent, then puts the value in the token.

mission_s256 in the resource tokenResource copies it out of the person token it verified

7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg

REQUIRED when the person token carried one — a resource MUST NOT omit it. presented_jti names the exact token it was copied from.

mission_s256 in the auth tokenIssuer copies it from the resource token

7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg

The resource reads the mission only here. It never arrives as a header and is never agent-asserted.

GEThttps://ps.example/.well-known/aauth-person.json
Host

ps.example