fix(desktop): dedupe personas backed by remote agents - #7465
ignacioarsuaga wants to merge 2 commits into
Conversation
Signed-off-by: Codex Hall <iarsuaga+codex@citizengo.net>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🔐 Codex Security Review
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 371c6086bc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: Codex Hall <iarsuaga+codex@citizengo.net>
|
Support. This matches the duplicate mention-search case: one owner-authenticated relay agent and one local persona appear as separate rows. Linking |
…ia relay presence The kind:10100 agent directory carries a replaceable, unexpiring status, so a crashed relay agent advertises 'online' forever and wins the mentionRanking active boost. REG-27 collapses two independent liveness predicates into one decision point (isRelayAgentActive) and joins the TTL'd relay presence the rest of the desktop already consumes (useAgentAvailabilityLookup). Presence is authority only when the read succeeded; undefined availability falls back to the directory so a relay blip cannot empty the mention picker. Managed-agent running/deployed classification untouched. Validation run 98 (2026-09-10, Gate-2 under owner-resolved analyzer ceiling 7): targeted 19/19; typecheck + 6 check:* guards rc=0; full desktop suite failure name-set identical to baseline (1 known provenance-cache failure both trees); flutter analyze 7 vs 7 identical signatures; mobile flutter-test name-set diff empty vs baseline; cargo buzz-db/core/acp/relay --lib failure name-sets match known_baseline_failures. DCO: 5aa17e3 gap closed by re-adding the commit at integration with Signed-off-by: Michael Feth (cc20732), original authorship preserved. No upstream PR opened (rival block#7465 open on buildMentionCandidates; external posting needs approval). Evidence: registry/work/REG-27/verifying.md + digests/2026-09-10-integration-run98.md
Summary
On a second Desktop, mention autocomplete no longer offers a mintable persona when an owned relay-discovered agent already uses that persona. This prevents the duplicate row from creating a second same-name agent while preserving personas whose only matching relay agent belongs to another owner.
The relay directory now carries the authenticated kind:30177
persona_idthrough Tauri. The picker trusts that link only when the policy owner matches the signed-in user.Related issue
Addresses #3414.
Related to #7320. This is a focused fix for the mention picker and does not change the key lifecycle, deletion, or backfill behavior covered by #3441.
Testing
just cipersonaIdP.persona_idonly from an owner-authenticated kind:30177 record.The original behavior was reproduced on Buzz Desktop 0.5.23 for Linux: the picker showed the real channel member and a second same-name
agent · not in channelrow. Selecting the real row produced oneptag for the existing agent; the extra row remained available to mint a duplicate.