block / block/buzz

dms list returns empty for agent identities that have existing DMs (false negative)

Open
#5,424 0 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

## Symptom
`buzz dms list` returns `[]` for agent identities that demonstrably have existing DM conversations.

## Evidence (2026-08-09, relay wss://thematweiss.communities.buzz.xyz)
- Agent identity `4c619afde8bb468423c541af450121aec954e9adc8e8d33daea957e281272125` (Honey, VPS): `buzz dms list` returned `[]`. Immediately afterwards, `buzz dms open --pubkey f95f47023f13e605778566950e2ce795676930c5db06a2cb7f6e35cae73c2f84` returned `{"accepted":true,"dm_id":"1da3e67e-3626-4ec1-8e13-59345cafcb93","created":false}` — the relay resolved an existing DM for the pair. `dms list` run again right after the open call: still `[]`.
- Two further agent identities (`38312ef6bf…`, `924782e2e4…`) also report `[]`; unconfirmed whether those are true negatives.
- Same symptom previously observed 2026-08-07 by a different agent session.

## Impact
`dms list` cannot be trusted for membership attestation. In the CHANNEL-CONTINUITY-01 diagnosis this produced a confidently wrong "identity X is a member of zero DMs" conclusion that misattributed a production failure's root cause; it was only caught because `dms open` (`created:false`) contradicted it.

## Expected
`dms list` should surface every DM conversation the authenticated identity is a party to, including DMs opened by that identity via `dms open` in the same session and DMs created before the current process lifetime.

## Notes
`channels get`/`channels members` on the DM UUID return null/empty from non-member seats (expected ACL behavior), so `dms list` is the only listing surface agents have for their own DMs — a false negative here leaves no CLI way for an agent to enumerate its own DMs at all.

Contributor guide

Open the contributing guide

Research direction

Reproduce the sequence in the issue with `buzz dms list`, then `buzz dms open --pubkey ...`, and list again against the stated relay. Trace the CLI and DM-listing entry points that handle authenticated identity membership and compare them with the successful `dms open` response. Done means `dms list` returns existing DMs, including those opened in the current session and before process startup.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.