mirror of
https://github.com/block/buzz.git
synced 2026-10-31 14:31:02 +00:00
Three review fixes for relay-primary private managed-agent config: - Tombstone owner-binding (review issue 4): resolve_inbound_tombstone now rejects any kind:5 whose signer is not the workspace owner, in Rust, so a foreign-owner tombstone with a colliding d-tag cannot delete local state through direct IPC. - Tombstone-aware head deletion (review issue 2): the covered retained kind:30177/30179 heads are deleted in the same transaction as the kind:5 retain, so boot rehydration can no longer resurrect a deleted secret-bearing agent. A head strictly newer than the tombstone is a recreation/late replay and is preserved (NIP-09 bound). - Equal-second convergence (review issue 3): inbound_event_outcome applies the NIP-01 addressable-event tiebreak at equal created_at — inbound wins only with a lexicographically lower event id — so two devices authoring same-second successors converge on the relay's winner instead of diverging forever. A losing pending local edit has pending_sync cleared since the relay would refuse it anyway. Co-authored-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz> Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>