I thought that redelivery was handled by `ReliableDelivery` and `Redelivery`. Does they send a `Deliver`back up to the `RequestReader` when they redeliver?

If they don't, then if you get one or more ACKs followed by some new `Deliver` followed failures for the ACKed messages, you will decrease them once, increase some for the new `Deliver` and then decrease for them a second time, creating a drift.