`buzz agents draft-update` silently drops a draft when one is already pending
- 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
Assessment
This issue has not been assessed yet.