

I’d rather not use Object Integrity Proofs either, and I’d be happy to cut them entirely. But here’s the big issue I’m concerned about:
Someone may endorse me for one thing (Ben likes Tea) that I’m perfectly ok with. I accept the endorsement, but then they maliciously change the endorsement (Ben likes Coffee, gross) and I still keep their endorsement, leading me to lots of embarrassment.
Is there another way around this issue that DOESN’T require Object Integrity Proofs?

@[email protected]
Yes, an
Endorsementis very similar toRelationshipand I wrestled with this a bunch. But I think we’re modeling a one-way relationship, not two way. I think it’s something like this:Relationship: Alice <- work together -> Bob Endorsement: Alice -> endorses work product -> Bob
And in more practical (and less theoretical) terms, this new object allows us to assume tighter controls around how an
Endorsementwas made. As under-specified as it is, I could post a validRelationshipbetween myself and Robert Plant (I did meet him once) and there’s no way to verify it. Using a new object, likeEndorsement, we can rely on the workflow around this object a little more, and can verify that Robert Plant actually acknowledged my endorsement (but I’m certain he wouldn’t remember me, the kid in the bookstore)So, we should reuse as much of the existing vocabulary as we can (
context,content, etc) but I think there’s a good reason for a new top-level object.