Retention
Retention is the only eraser. An acknowledgement advances a cursor; it does
not delete the message. The log is kept for a topic's retention window, which
is what makes replay (Start: "earliest") and fan-out subscriptions possible.
Retention is set per topic (in whole days) at create time and can be changed later. It is time-based, applied by the engine on a partition granularity — not ack-based.
Retention vs. un-acked messages
Because retention is time-based, a message that sits un-acknowledged longer than its topic's retention is erased by the engine along with the acknowledged ones. For a durable work queue whose consumer may be down for a while, size the retention to cover the longest tolerable outage.
AMQP queues get a configurable default retention
(amqp_queue_retention_days, default 7) precisely so an un-acked durable
message survives a down consumer for at least that window. Raise it for
longer-outage tolerance.
Cursor-aware retention — expiring only below the lowest un-acked cursor — is a planned engine feature that removes this ceiling. Until then, retention is the knob.
No manual deletion
There is no "purge" verb. Accumulated data is bounded by retention and by read-side limits (paging), never by a destructive admin action.