A batch mapped an operation for a lower block than one already sequenced. Operations take their
numbers in the order they are mapped, and consumers read a contiguous run reaching block N+1 as
proof that block N is complete — a backwards step makes that reading wrong.
Fix — emit drafts in block order. A fork’s rewind is not a backwards step: the target resets
the check when it resolves one. Set sequenceBarrier: false if no consumer relies on block
boundaries.
Note that the check walks the batch in sequencing order, which is route by route rather than
block by block. A second route on the same topic therefore restarts at the batch’s first block
and lands here on any batch spanning more than one block, with no ordering the mapper can supply
to avoid it — the barrier admits one multi-block route per producer. Merge the streams into one
map, or turn the barrier off.