block / block/buzz

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

Open
#2,326 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.