(2017-12-05 continued)
The sameAs
index I made yesterday seems to be working. Added a patchcore contact.obs.sameAs
observable that takes all of the sameAs claims, and filters to just include the valid ones for a given identity.
If one side explicitly disagrees (with a sameAs: false
), the identities will NEVER be merged.
If both sides agree, the identity will ALWAYS be merged.
If one side agrees (and the otherside has not shared an opinion), and you agree, then the identities will be merged.
In all other cases, the identities will not be merged.
—
The next thing I need to look at handling is the case where you have more than two identities to merge. That was brought up in this post.
Also for two-way merges we'll want to make sure we support any topology of mutual links like a linear chain of five devices, a star-shaped network, etc.
My current architecture makes this a bit difficult because we only have access to explicit sameAs. Need to figure out to derive these other values. This sort of thing hurts my brain
Gonna give this some more thought tomorrow.