When consuming events from external systems, you may receive them out of order without knowing what's missing. Two main strategies are presented: first, separating internal and external events using Summary Events that expose only what other modules need, eliminating ordering problems at the source. Second, when you can't control the producer, using monotonic revision numbers (via optimistic concurrency) to track gaps in received events and buffer pending commands until a consecutive sequence is complete. Code examples in TypeScript demonstrate a kitchen order system that queues incoming shopping cart events, processes them in revision order, and defers action until all preceding events arrive.