Skip to content

CLI: no way to delete a kind:30617 repo announcement — add buzz repos delete emitting an a-tag-only kind:5 #5739

Description

@bradleg1

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions