backoff: guard IsFinalDelivery against non-positive MaxDeliver
main·
Commit

A Policy with MaxDeliver left at its zero value made IsFinalDelivery read EVERY delivery as final (NumDelivered >= 0), so TermOnExhaustion Termed on the first transient failure instead of applying the retry envelope. Non-positive MaxDeliver now reads as unlimited redeliveries — the jetstream.ConsumerConfig semantics for the same field — so no delivery is final and NakOrTerm always Naks.
Found by Bugbot on #4.
Entire-Checkpoint: 71b20e115766
Checkpoints
Checkpoint 1