Under the hood
Empty placeholder messages used to unblock permissions no longer get sent to the API as wire history.
When building API wire history from the transcript, a "user" message whose content is an array with zero elements is now skipped entirely instead of being converted into a wire message. This covers turns recorded only to unblock a pending permission or deferred tool use, with no new prompt text or attachments.