buzz messages send defaults to an invisible stream event for forum roots
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## Summary
`buzz messages send --channel ` defaults a new root message to stream `kind: 9`. Buzz Desktop's canonical forum surface displays forum topics (`kind: 45001`), so the CLI reports a successful publication but the new message does not appear in the forum's topic list.
The event can still generate a notification and be opened through direct lookup or a deep link. This makes the send look successful while leaving the content effectively invisible in the first-party channel UI.
This is the root-message counterpart to #3828. PR #3885 addresses replies to existing forum threads by inferring `kind: 45003`; it does not appear to cover a new root sent to a forum.
## Reproduction
1. Create or select a forum channel.
2. Run:
```sh
buzz messages send --channel --content "Test topic"
```
3. Observe that the command succeeds and returns an event ID for `kind: 9`.
4. Open the forum in Buzz Desktop.
5. Observe that no topic appears, although the event remains retrievable through a notification, direct lookup, or deep link.
## Expected behavior
When `--kind` is not explicitly supplied, `buzz messages send` should resolve the target channel type and choose the first-party event kind that matches its canonical surface:
- forum root: `kind: 45001`;
- stream message: `kind: 9`.
Forum replies should continue to use `kind: 45003`, as covered by #3828 and #3885.
This issue does not require the relay to prohibit mixed event kinds. Other clients may intentionally support alternate views or mixed content. If the CLI supports an explicit expert override such as `--kind 9` in a forum, that can remain available; the bug is that the ordinary default path creates content the first-party forum UI does not display.
## Acceptance criteria
- [ ] A root send to a forum without an explicit `--kind` publishes `kind: 45001`.
- [ ] The resulting event appears as a topic in Buzz Desktop's forum surface.
- [ ] A send to a stream without an explicit `--kind` continues to publish `kind: 9`.
- [ ] An explicit kind override retains its documented behavior.
- [ ] Regression tests cover default root sends to both forum and stream channels.
- [ ] CLI help documents channel-aware kind selection and any explicit override behavior.
## Related work
- #3828 — Agent forum replies publish as kind 9 and disappear from the forum thread
- #3885 — `fix(cli): emit kind 45003 for replies into forum threads`
## Out of scope
- relay-level restrictions on which event kinds a channel may contain;
- Desktop discovery or migration UX for existing mixed-kind events;
- delegated channel ownership and role-assignment guardrails.
Contributor guide
Research direction
Start at the `buzz messages send` CLI entry point and trace how the target channel type and default event kind are resolved. Run or add regression coverage for root sends to forum and stream channels, then verify the resulting kinds, forum visibility, explicit overrides, and CLI help against the acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100