vector-clock-immutability

Status: IN

`VectorClock` is immutable: `increment`, `merge`, and `prune` all return new instances and never modify `_clock` in place.

Source: entries/2026/05/29/vector-clocks-vector_clock.md

Example

def increment(self, node_id):
    new = dict(self._clock)
    new[node_id] = new.get(node_id, 0) + 1
    return VectorClock(new)  # returns new, never mutates

JSON