Orders group commits by the content-derived convergence key
(protocol-core/convergence.md): by MLS source epoch ascending, then by the
lower commit_digest = SHA-256(MLS message bytes). For a same-epoch race the
lowest commit digest wins.
Transport arrival order, transport timestamps (created_at), and outer event
ids MUST NOT participate in this ordering — every member computes the same
order from the same MLS bytes, which is what makes convergence deterministic
across implementations.
Orders group commits by the content-derived convergence key (
protocol-core/convergence.md): by MLS source epoch ascending, then by the lowercommit_digest = SHA-256(MLS message bytes). For a same-epoch race the lowest commit digest wins.Transport arrival order, transport timestamps (
created_at), and outer event ids MUST NOT participate in this ordering — every member computes the same order from the same MLS bytes, which is what makes convergence deterministic across implementations.