Desktop mints a new agent identity when adding an existing agent to a channel/project
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
# Desktop mints a new agent identity when adding an existing agent to a channel/project
**Version:** Buzz Desktop 0.5.23 (deb), relay `ghcr.io/block/buzz:main` (self-hosted, open mode)
## What happens
Adding an existing managed agent to a new channel (or project channel) via the Desktop UI sometimes creates a **brand-new keypair/identity** for the same persona instead of reusing the existing one. The result is two live identities with the same display name and avatar, both channel members.
## Evidence (all from one machine, same day)
- `Robin`: instance `05b8d468…` created 09:27:30, second instance `e0b1a6fb…` created 09:26:20 — ~70s apart, same persona `014a650c…`, same system prompt. I never created Robin twice.
- `Luffy`: instances `444feab8…`, `72253163…` + template, all active at once.
- `Yamato`: keeper `ba72d883…` (08:27) plus a fresh copy `6f52dc66…` minted at 18:20 exactly when I added Yamato to a new project channel (`sifali-defter`) via the UI.
- Project-channel roster auto-fill picked the **stale copies** (`82a21569…`, `01db232…`, `5256d74b…`, `787d4a16…`, old Robin) instead of the live ones.
Consequences: duplicate @mention targets, double replies risk, and manual cleanup (delete/deactivate + channel remove-member per copy).
## Related repair-loop damage
After I deactivated the duplicate records, the boot repair (`team-membership-repair`) unbound the keeper, `deletion-reconcile` tombstoned the persona head (`kind:30175`), and the keeper became a permanent `orphaned agent instance` (`missing_persona_id`), re-logged every boot:
```
buzz-desktop: team-membership-repair: unbinding instance "444feab8…" — persona "37e79106…" left its team's roster with no single-team successor
buzz-desktop: deletion-reconcile: tombstoning orphan kind:30175 head '37e79106…'
orphaned agent instance: pubkey=444feab8…, missing_persona_id=37e79106…
```
Restoring the persona template record + team roster entry did not resolve it (`leaving unresolvable persona id … (0 candidate(s))`), because the relay head stays tombstoned. I had to create a brand-new Luffy identity and re-do all channel memberships.
## Expected
- Adding an agent to a channel reuses its existing identity, or at least prompts ("use existing Luffy (444fea…) or create new?").
- Deactivating a duplicate never tombstones a persona still referenced by other records.
- Repair should be reversible / namespaced per record, not per display name.
Contributor guide
Assessment
This issue has not been assessed yet.