block / block/buzz

Desktop mints a new agent identity when adding an existing agent to a channel/project

Open
#7,610 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

# 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.