Inorderly now takes its events straight from Kafka, NATS JetStream and Redis Streams and writes the ordered output back to any of them. The clients are built in, against Go’s standard library, so it’s still one binary with no dependencies and no consumer groups to set up. Each checkpoint notes how far the output had got. A restarted run reads back everything written after that point, checks every line, and carries on without writing any of them twice. In CI, runs killed ten times on each of Redis, Valkey, NATS and Kafka ended with exactly the output of a run never interrupted.
Two smaller additions: one slow producer can have a window of its own with -window-for, and late events can go to a file that another run reads back. The independent review found four ways a broker run could lose or repeat lines before release; all are fixed and tested. The release post has the details, and the 0.2.0 binaries are on GitHub.