block / block/buzz

`buzz agents draft-update` silently drops a draft when one is already pending

Open
#3,559 1 comment 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

**Component:** `buzz` CLI (`agents draft-update` / `draft-create`) + Desktop draft-review surface
**Severity:** Medium — silent data loss; the CLI reports success for a draft the owner never sees

## Observed

Three `draft-update` requests were sent in quick succession (product-manager, compliance-manager, v2-program-manager), each returning `{"accepted": true, "saved": false}`. Only the **first** surfaced in Desktop for review; the other two never appeared. Re-sending them **one at a time**, with the owner saving each before the next was sent, worked — each surfaced in turn.

This indicates Desktop holds a **single pending-draft slot**: a new draft request arriving while one is already pending is dropped, with no error to the sender. `accepted: true` reflects only that the relay routed the request, not that Desktop retained it.

## Impact

An operator scripting several agent updates in a loop (the natural thing to do) silently loses all but one, and the CLI gives them no signal that anything was dropped.

## Suggested fix

Queue pending drafts in Desktop rather than holding one slot, or have the relay/Desktop NACK a draft that can't be retained so the CLI can report `saved: false, retained: false` and the caller can retry/serialize. At minimum, document that draft requests must be sent one at a time and reviewed before the next is sent.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.