Thinking more about it, I think hash-chain branches are step 1 that is needed.
Extend git to support hash-chain branches, where the branch is a pubkey (can have a readable alias), every client can check every merge into the branch is signed by the privkey.
- where the privkey can be an aggregate key (schnorr, MuSig, etc)
- where the merge transaction can be signed and broadcast (on nostr) allowing every client that has all the commits in it's repo to reproduce a deterministic merge (same outcome everwhere)