Sphere traversal should always prefer the most recent link record for a peer
Consider a sphere traversal from spheres A -> B -> C. For such a traversal, we currently look in sphere A's address book for the last known link record published by sphere B. The link record contains a CID that refers to a version of sphere B. We follow the CID and manifest a sphere from the corresponding data. We then repeat the process, looking in B's address book in order to traverse to C.
That said: there are traversals of the form A -> B -> C -> B. This may occur if B and C are "mutuals" and follow each other. In such traversals, the CID we use to traverse A -> B is always different from the CID we use to traverse C -> B. And, thanks to the essential qualities of Merkle trees, the link record we use to traverse C -> B will always reflect an older version of B compared to the link record we use to traverse A -> B.
So with this in mind, sphere traversal should always prefer the most recent version - in other words, the graph-wise "closer" version to our origin (sphere A in the example) - by default. We may later offer functions that enable us to traverse the graph directly in cases like this, but always traversing to the most recent version seems like it would be closer to user expectations in the typical case.