No way to delete a repo announcement (kind:30617): CLI has no `repos rm`, and Desktop 'Delete project' is owner-gated to keys the app holds
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## Summary
Once a repo announcement (NIP-34 kind:30617) is published, there is no supported path to remove its listing from the workspace Projects tab:
- The CLI has no `repos delete`/`repos rm`. The only deletion command, `messages delete`, refuses non-channel events (`event has no h-tag — cannot determine channel`).
- Buzz Desktop shows a "Delete project" action on repo cards, but it is disabled for everyone except the announcement's signing identity — and when the announcement was signed by a managed agent's key, no human in the workspace can ever use it.
- `notes rm` (kind:30023) shows the right pattern already exists: an a-tag-only NIP-09 deletion targeting the addressable coordinate. There is no equivalent for `30617::`.
Related: #714 (a-tag deletion is a no-op for non-workflow addressables on the relay side — if still current, it would also block the coordinate route for 30617).
## How we got here (real workflow)
An agent announced a repo, then pushed a connectivity-test branch before the real history. On relay-hosted repos the first branch pushed becomes the permanent default branch, deletion of the current branch is refused, and the storage protocol never deletes — so the repo id was burned. The agent re-announced under a new id and marked the old announcement "DEPRECATED" (announcements are replaceable, so renaming works). Result: permanent DEPRECATED husk cards visible to every workspace member in the Projects tab, deletable by no one — the signing key's tooling (CLI) lacks the command, and the humans' Desktop buttons are ownership-gated off.
## Suggested fix
1. `buzz repos rm --id ` mirroring `notes rm`: read-before-write, then an a-tag-only kind:5 targeting `30617::`.
2. If #714 still applies to 30617, extend the relay's coordinate soft-delete to cover it (or all parameterized-replaceable kinds), so the CLI and the Desktop button share one working path.
## Environment
- Hosted relay (`*.communities.buzz.xyz`), Buzz Desktop + bundled CLI, 2026-07-22.
Contributor guide
Research direction
Start by comparing the existing `notes rm` flow with `messages delete`, then trace the Desktop “Delete project” action and the relay behavior described in #714. Implement and verify an a-tag-only deletion for `30617::` through the CLI and Desktop path, confirming that the announcement disappears from the Projects tab.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, cli, desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100