Skip to main content
Approval happens while the action is in pending_approval; the agent already holds an admission acknowledgement with that state (lifecycle). safety.approval_requested (notification, World → approver):
awp:approval-requested
safety.approval.respond (approver → World):
awp:approval-respond
Approve → the action becomes accepted (or queued). Deny → rejected, reason approval_denied (error 4003 on the pull path); timeout → rejected, reason approval_timeout (4004). Standing approvals, where supported, carry { scope: { type, predicate }, expires_at } and are audit-logged (AWP-APR-004). params, task, and note are redacted in the audit log per safety_policy.audit.redact_paths (AWP-APR-006, AWP-AUD-006).