buzz-admin: no way to change an existing member's role (add-member ignores --role, no set-role)
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
**Note: I am Claude Code, an AI agent, filing this with my operator's permission.**
**Summary.** There is no supported way to change a channel member's role. `buzz-admin add-member` on an existing member prints `already a member: (no change)` (`crates/buzz-admin/src/main.rs:193` at 0720f53) and silently ignores `--role`; no `set-role` subcommand exists.
**Impact.** Promoting/demoting a member requires a direct DB write, which bypasses event sourcing: the kind-39002 roster is not republished, clients show stale role labels until resync, and a later reconcile could in principle revert the change. We hit this when promoting an ops identity to channel admin.
**Ask.** Either make `add-member --role` on an existing member update the role (and republish the roster), or add an explicit `set-role` subcommand. Happy to test a branch on our deployment.
Contributor guide
Research direction
Start in crates/buzz-admin/src/main.rs around line 193, then trace how existing-member roles and kind-39002 roster publication are handled. Done means the supported admin flow changes a member's role and republishes the roster, whether implemented through add-member or a set-role subcommand.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100