mirror of
https://github.com/block/buzz.git
synced 2026-11-06 01:11:33 +00:00
Replace the direct-SQL repair, which needed every relay pod stopped, with renames that go through the relay's normal kind:9002 path: - A relay operator may send a name-only kind:9002 for any channel. Every other privileged change still needs a channel owner or admin. A moderator gets no new right. - scripts/maintenance/plan_duplicate_listed_channel_renames.sql lists the renames (read-only). rename_duplicate_listed_channel_names.sh sends each one with `buzz channels update`, signed by an operator key, then reads the plan again and fails if any rename remains. The relay enforces the name rule and publishes kind:39000 as for any rename, so relays keep serving while it runs. - Remove `buzz-admin reconcile-channel-groups --metadata` and the SQL repair script; nothing needs them now. - Refuse a kind:9007 with no h tag at ingest, before it is stored. Such a create used to run in side effects, so a refusal there (a taken name) still answered accepted. Every first-party client sends h. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>