The change sequence is one producer-wide counter, so a producer that feeds several topics leaves
none of them with a contiguous run — and a consumer reading a gap-free run as a completeness
barrier would see holes it cannot distinguish from lost messages.
Fix — run one producer per topic, or set sequenceBarrier: false to declare that no consumer
of this producer relies on a contiguous sequence run.
Several routes may name the same topic, but with the barrier on only one of them can span more
than one block per batch: routes are mapped one after another, so the second restarts at the
batch’s first block and is refused by E2429. Merge such streams into one route’s map.