The aborted event now carries the transaction user, resolved through the logfmt chain against the pre-transaction state so it matches change headers. Default rendering: '<action> by <user> transaction aborted: <e>'. User resolution factored into _build_logfmt/_resolve_user helpers shared by the change and abort paths.