Syncbench models two replicas with per-field logical clocks. Disconnect them, make conflicting edits, then reconnect and inspect the deterministic merge instead of hiding conflict behavior behind a sync button.
Merge rule: higher logical counter wins; equal counters use replica id as a stable tie-break. The implementation is intentionally small enough to review. Source and tests ↗