CLI: no way to delete a kind:30617 repo announcement — add `buzz repos delete` emitting an a-tag-only kind:5
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
### 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::`, 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
```
emitting kind:5 with `a = 30617::` (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.
Contributor guide
Assessment
This issue has not been assessed yet.