Audit Endpoint
The audit endpoint enables agents to log actions they performed — providing the PS with a record for governance and monitoring that feeds the mission log. The agent POSTs a signed audit entry after performing an action, the PS responds 201 Created, and the audit is fire-and-forget (the agent SHOULD NOT block on the response). The audit endpoint REQUIRES a mission — there is no audit outside a mission context (§1046).
The agent signs the request with its agent token (Signature-Key: sig=jwt).
mission_s256 and action are REQUIRED. In -11 the mission is named by a bare digest — the {approver, s256} object is gone from every request and every token.
description, parameters and result are OPTIONAL but make the record useful.
The audit endpoint requires a mission. There is no audit outside a mission context.
The PS returns 201 Created — audit is fire-and-forget; the agent SHOULD NOT block on it.
Step 1: POST /audit (FeedbackReader.read) → 201 Created
Description (Markdown)
# Analyze Q2 Customer Feedback Read customer feedback records and produce a summary report with sentiment analysis and key themes.
Blob Members
The blob is what the digest covers. approver lives here and nowhere else — no token carries it.
Mission Identifier
eyJhcHByb3ZlciI6Imh0dHBzOi8vcHMuZXhhbXBsZSIsImFnZW50IjoiYWF1dGg6bG9jYWxAYWdlbnQuZXhhbXBsZSIsImFwcHJvdmVkX2F0IjoiMjAyNi0wNC0xNFQxNzoxNDo1NFoiLCJleHBpcmVzX2F0IjoiMjAyNi0wNS0xNFQxNzoxNDo1NFoiLCJkZXNjcmlwdGlvbiI6IiMgQW5hbHl6ZSBRMiBDdXN0b21lciBGZWVkYmFja1xuXG5SZWFkIGN1c3RvbWVyIGZlZWRiYWNrIHJlY29yZHMgYW5kIHByb2R1Y2UgYSBzdW1tYXJ5IHJlcG9ydCB3aXRoIHNlbnRpbWVudCBhbmFseXNpcyBhbmQga2V5IHRoZW1lcy4iLCJhcHByb3ZlZF90b29scyI6W3sibmFtZSI6IkZlZWRiYWNrUmVhZGVyIiwiZGVzY3JpcHRpb24iOiJSZWFkIGN1c3RvbWVyIGZlZWRiYWNrIHJlY29yZHMifSx7Im5hbWUiOiJSZXBvcnRXcml0ZXIiLCJkZXNjcmlwdGlvbiI6IldyaXRlIHRoZSBzdW1tYXJ5IHJlcG9ydCB0byB0aGUgc2hhcmVkIGRyaXZlIn1dLCJhcHByb3ZlZF9yZXNvdXJjZXMiOlsiaHR0cHM6Ly9hcGkuZXhhbXBsZSJdfQ
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
Read customer feedback records
Write the summary report to the shared drive
PS Capabilities
application/json
sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQ…
sig=("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed2…
sig=:AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQI…
{
"mission_s256": "7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg",
"action": "FeedbackReader.read",
"description": "Read Q2 customer feedback records from the feedback service.",
"parameters": {
"date_range": "2026-04-01..2026-06-30",
"product": "all"
},
"result": {
"status": "completed",
"records_read": 1247
}
}Covered Components
Signature Base
Signature-Key Header
sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQrand0In0…"
Signature-Input Header
sig=("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed25519"
{"alg":"EdDSA","kid":"agent-key-1","typ"?:"aa-agent+jwt"}{"iss"?:"https://agent.example","dwk"?:"aauth-agent.json","sub"?:"aauth:local@agent.example","jti"?:"a6ae301d-1dc7-4b75-8f8b-5612197664a7","cnf"?:{"jwk"?:},"ps"?:"https://ps.example","iat"?:1776222894,"exp"?:1776226494}