{"id":"multi-leader-convergence-reliable-across-topologies","text":"Multi-leader replication achieves reliable eventual convergence regardless of network topology: sync uses a safe collect-then-distribute pattern with idempotent merge and monotonically advancing timestamps, and topology choice affects only the duration of observable divergence (linear in node count for ring, single round for all-to-all), not the final converged state.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["multi-leader-sync-designed-for-safe-convergence","topology-creates-divergence-window-not-correctness-gap"],"outlist":["multi-leader-custom-merge-requires-merge-fn"],"label":"A depth-1 convergence safety conclusion combined with a depth-2 topology-independence conclusion form a strong positive claim, gated on the silent acceptance of merge_fn=None that crashes at resolution time"}],"dependents":[],"metadata":{},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"multi-leader-convergence-reliable-across-topologies","truth_value":"IN","reason":"SL justification valid","antecedents":["multi-leader-sync-designed-for-safe-convergence","topology-creates-divergence-window-not-correctness-gap"],"label":"A depth-1 convergence safety conclusion combined with a depth-2 topology-independence conclusion form a strong positive claim, gated on the silent acceptance of merge_fn=None that crashes at resolution time","outlist":["multi-leader-custom-merge-requires-merge-fn"]},{"node":"multi-leader-sync-designed-for-safe-convergence","truth_value":"IN","reason":"SL justification valid","antecedents":["multi-leader-sync-collects-then-distributes","multi-leader-custom-merge-idempotent-across-syncs","multi-leader-custom-merge-new-timestamp"],"label":"Three complementary design choices ensure that sync rounds converge monotonically without re-triggering conflicts"},{"node":"multi-leader-sync-collects-then-distributes","truth_value":"IN","reason":"premise"},{"node":"multi-leader-custom-merge-idempotent-across-syncs","truth_value":"IN","reason":"premise"},{"node":"multi-leader-custom-merge-new-timestamp","truth_value":"IN","reason":"premise"},{"node":"topology-creates-divergence-window-not-correctness-gap","truth_value":"IN","reason":"SL justification valid","antecedents":["topology-does-not-change-conflict-outcome","ring-topology-convergence-is-linear-in-node-count","all-to-all-converges-in-one-round"],"label":"Same eventual outcome but O(N) vs O(1) observable divergence window with static topology selection"},{"node":"topology-does-not-change-conflict-outcome","truth_value":"IN","reason":"premise"},{"node":"ring-topology-convergence-is-linear-in-node-count","truth_value":"IN","reason":"SL justification valid","antecedents":["ring-requires-n-minus-one-rounds","ring-topology-needs-multiple-sync-rounds","ring-requeues-via-apply-remote-change"],"label":"Three observations pin convergence delay to the store-and-forward mechanism: apply-remote-change requeues to pending, and pending drains one hop per sync"},{"node":"ring-requires-n-minus-one-rounds","truth_value":"IN","reason":"premise"},{"node":"ring-topology-needs-multiple-sync-rounds","truth_value":"IN","reason":"premise"},{"node":"ring-requeues-via-apply-remote-change","truth_value":"IN","reason":"premise"},{"node":"all-to-all-converges-in-one-round","truth_value":"IN","reason":"premise"}]}}