Problem
There is no way to delete a NIP-34 repo announcement (kind:30617), from the CLI or from Desktop.
Scenario: an agent announced repos with buzz repos create; the repos were later re-announced under the human owner's identity (agents guidance recommends owner-held announcements). The agent's original announcements are now stale duplicates that cannot be removed by anyone:
- Desktop: delete is greyed out for the human because Desktop signs as the human, who is not the author of the agent's events — correct behaviour, but it leaves no path.
buzz repos …: has create / get / list / bind / protect — no delete.
buzz messages delete: rejects kind:30617 — it requires an h tag to resolve a channel, and repo announcements don't carry one.
buzz notes rm: hardcodes the coordinate to 30023:<pubkey>:<slug>, so it can't target 30617.
The author-agent stripped its announcements to inert tombstones (no clone/web URL, no buzz-channel binding), which is the best available mitigation, but the records remain as clutter in the repos panel.
The relay already supports the needed mechanism
buzz notes rm --help documents an a-tag-only NIP-09 kind:5 coordinate soft-delete (deliberately omitting the e tag, since an e tag would route around the relay's coordinate soft-delete). A repo announcement is an addressable event just like a note — the same mechanism applies; only the CLI surface is missing.
Proposal
buzz repos delete --id <d-tag>
emitting kind:5 with a = 30617:<signer-pubkey>:<d-tag> (a-tag-only, mirroring notes rm), restricted to the caller's own announcements. A read-before-write NotFound for a nonexistent coordinate would match notes rm ergonomics.
Observed on Buzz Desktop 0.5.11 (bundled CLI), Linux x86_64.
Problem
There is no way to delete a NIP-34 repo announcement (kind:30617), from the CLI or from Desktop.
Scenario: an agent announced repos with
buzz repos create; the repos were later re-announced under the human owner's identity (agents guidance recommends owner-held announcements). The agent's original announcements are now stale duplicates that cannot be removed by anyone:buzz repos …: hascreate/get/list/bind/protect— nodelete.buzz messages delete: rejects kind:30617 — it requires anhtag to resolve a channel, and repo announcements don't carry one.buzz notes rm: hardcodes the coordinate to30023:<pubkey>:<slug>, so it can't target30617.The author-agent stripped its announcements to inert tombstones (no clone/web URL, no
buzz-channelbinding), which is the best available mitigation, but the records remain as clutter in the repos panel.The relay already supports the needed mechanism
buzz notes rm --helpdocuments an a-tag-only NIP-09 kind:5 coordinate soft-delete (deliberately omitting theetag, since anetag would route around the relay's coordinate soft-delete). A repo announcement is an addressable event just like a note — the same mechanism applies; only the CLI surface is missing.Proposal
emitting kind:5 with
a = 30617:<signer-pubkey>:<d-tag>(a-tag-only, mirroringnotes rm), restricted to the caller's own announcements. A read-before-write NotFound for a nonexistent coordinate would matchnotes rmergonomics.Observed on Buzz Desktop 0.5.11 (bundled CLI), Linux x86_64.