abandonPendingMessage
Abandons message (docs/outbound-message-lifecycle.md).
Gives up on delivering message id to recipient: removes it, plaintext included, from the pending messages in one transaction (AbandonStatus.ABANDONED), so no retry sends it again (docs/outbound-message-lifecycle.md). Only this message changes; the session and every other message stay as they are.
Local only: nothing is sent, the recipient and the server are not told, and it is not a recall. Envelopes already handed to the transport can still be delivered, and the recipient can still finalize the message and acknowledge it; such an acknowledgement is harmless (ReceiveResult.Acknowledgement.cleared is false).
Idempotent: a message that is not pending (acknowledged, abandoned before, or never sent) changes nothing (AbandonStatus.NOT_PENDING). Runs after a send or retry in progress has handed off its envelope, never between its steps. The removal is logical: earlier copies of the sealed record can remain in database files (docs/storage-encryption.md).