I roughly understand the version vector in the index message, but I’m not 100% sure of collision detections.
Node A creates the file and adds A:1 to the version vector. Node B updates the file and adds B:1 to the vector. If both A and B update at the same time, they edit their entry to 2 locally and send to each other. Say A sends its update first, B receives an update with B:1 and A:2 in the version vector, B can see that B:1 is lower than the version it has set locally so this is enough to determine there has been an update collision on this file?
I think this is right, but I wanted to be certain before I code up something.