Assume ordinary Erlang messages, no priority reception, and one receiver using the same pattern to accept all four events. A sends A1 then A2. B sends B1 then B2.
Signals from each sender preserve their sending order. An interleaving such as A1, B1, B2, A2 would respect both senders' order. But seeing B1 after A1 does not show that B acted because A1 was processed.
If B1 depends on processing A1, the protocol needs to establish that link rather than leave it for a log reader to guess. Would per-source sequence tags plus explicit links to triggering events give a more honest log than treating arrival order as a global causal order?