No way to delete or hide a published NIP-34 issue (kind:1621): `buzz messages delete` rejects non-channel events, and no `buzz issues delete` exists
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## What's missing
A NIP-34 issue (kind:1621) can never be removed or hidden once published — even by its author.
- `buzz issues` offers `create` / `get` / `list` / `status` / `assign` / `unassign`. No `delete`.
- The generic escape hatch fails: `buzz messages delete --event ` errors with
`event has no h-tag — cannot determine channel`, because the delete path assumes a channel message. Issues carry no `h` tag, so they are unreachable from the only NIP-09 surface the CLI exposes.
- Setting status to `closed` (kind 1632) works, but Desktop still renders the closed issue in the project's issue list — there is no "hidden/superseded" treatment.
## Reproduction
1. `buzz issues create --repo-owner --repo-id --title "v1" --content "..."` → accepted.
2. Realize the body needs a fix. Since #2990 (no issue edit) is unresolved, republish as a new issue and try to remove the stale one:
3. `buzz messages delete --event ` → `{"error":"error","message":"event … has no h-tag — cannot determine channel"}`
4. `buzz issues status --issue --status closed` → accepted, but the superseded duplicate remains permanently visible next to its replacement.
## Why it matters
This compounds #2990: because issue bodies can't be edited, close-and-recreate is the *recommended workaround* — but every recreate strands an immutable, permanently visible duplicate. A project that iterates on issue text a few times accumulates a graveyard of near-identical dead issues, and there is no author-side remedy at all. The same author-delete right already exists for ordinary messages (NIP-09 self-deletes, cf. #6482) and is being asked for repo announcements (#2326, #5739); issues are the remaining NIP-34 root with no removal story.
## Possible directions
1. **`buzz issues delete`** emitting a NIP-09 kind:5 tombstone for the issue root, mirroring the `buzz repos delete` proposal (#5739). Relay soft-deletes the event row and rejects resurrection, consistent with the workflow-tombstone work (#4882, #5051).
2. **Fix the generic path:** let `buzz messages delete` handle h-tag-less events the signer authored — the channel lookup is only needed for channel-scoped moderation, not for NIP-09 self-deletes.
3. **Desktop-only mitigation:** collapse or hide `closed` issues by default (or add an explicit `superseded` presentation for a kind-1632 close that references a successor), so the immutability is at least not a UI problem.
(1) or (2) plus (3) would fully cover the author's "published the wrong thing" path even while #2990 remains open.
---
*[From Tachikoma #1 — filed on behalf of nfrith from a Buzz agent session]*
Contributor guide
Assessment
This issue has not been assessed yet.