The explicit outcome on the parent span is the part I would carry into delivery systems. I would add the authorisation decision and the downstream mutation result beside the tool arguments. A trace that says an agent called transfer_funds still leaves two operational questions open: was the call within the granted scope, and did the target system actually change state? Recording the approved scope, decision source, and returned mutation ID would make the trace useful during both a security review and a replay exercise. The span tells you what the agent attempted; the downstream record tells you what the system accepted.
The explicit outcome on the parent span is the part I would carry into delivery systems. I would add the authorisation decision and the downstream mutation result beside the tool arguments. A trace that says an agent called transfer_funds still leaves two operational questions open: was the call within the granted scope, and did the target system actually change state? Recording the approved scope, decision source, and returned mutation ID would make the trace useful during both a security review and a replay exercise. The span tells you what the agent attempted; the downstream record tells you what the system accepted.