feat(desktop): name the computer an agent lives on — core (device identity, split from #6259) - #6698
Open
mfethe1 wants to merge 1 commit into
Open
feat(desktop): name the computer an agent lives on — core (device identity, split from #6259)#6698mfethe1 wants to merge 1 commit into
mfethe1 wants to merge 1 commit into
Conversation
Backend-only split of block#6259, assembled on current main (0720f53). Excludes the mention-UI half (MentionAutocomplete, useMentionSendFlow, useMentions, mentionCandidates, mentions.spec, e2eBridge) which conflicts with upstream block#6315/block#6337/block#6401 agentProvenance and needs a product decision, not a textual merge resolution. Also fixes 3 test-only RelayAgentInfo literals in relay_directory.rs that block#6259 head does not update; serde(default) does not fill struct literals, so cargo check --tests fails on 4e0764d without this. Gates: cargo fmt --check 0, cargo check --locked --tests 0, device_identity:: 16/16, managed_agents::agent_events:: 16/16, tsc --noEmit 0, agentDeviceLabel.test.mjs 4/4.
mfethe1
added a commit
to mfethe1/buzz
that referenced
this pull request
Aug 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes the conflict-free backend half of #6259 ("name the computer an agent lives on"). The mention-UI half of #6259 conflicts semantically with #6337/#6401 (
agentProvenance) and needs a product decision, so this PR carries only the parts that merge cleanly onto currentmain.What this adds
device_identity.rs(+551): opaque 32-hexdevice_idminted per install, user-editabledevice_label(validated: non-empty, ≤32 chars, control/format chars rejected), stable across restarts, persisted atomicallydevice_id/device_labelon kind:30177 records for local backends only — a provider-backed agent publishesdevice: null(it does not run on the owner's computer)RelayAgentInfogains optionaldevice_id/device_label(#[serde(default)]), projected from the directoryDeviceNameSettingsCardUI (Settings → Agents), mounted beforePreventSleepSettingsCardlistRelayAgentsmoves fromtauri.tstotauriRelayAgents.tswith the new fieldsWhy split from #6259
origin/mainmoved 38+ commits since feat(desktop): name the computer an agent lives on #6259's last rebase; all three textual conflicts are mention-UI files (MentionAutocomplete.tsx,useMentionSendFlow.ts,AgentsSettingsPanel.tsx) where feat(desktop-messages): keep agents addressed across messages #6315/fix(desktop): distinguish duplicate agent devices #6337/fix(desktop): simplify duplicate agent provenance #6401 landed a competing disambiguator. Resolving them textually would ship two disambiguators in one suggestion row.git merge-treeof feat(desktop): name the computer an agent lives on #6259 ×origin/main(preserving upstream's0.5.17→0.5.18bump andcustom_harness_dirinlib.rs), with the panel wiring applied semantically to currentmainrather than copying feat(desktop): name the computer an agent lives on #6259's stale whole-file version.RelayAgentInfoliterals inrelay_directory.rswere never updated for the new fields.#[serde(default)]does not fill struct literals, socargo check --testsfails on feat(desktop): name the computer an agent lives on #6259's head4e0764d4b(verified: exit 101, 3×E0063). This branch addsdevice_id: None, device_label: Noneto those three sites (detailed on feat(desktop): name the computer an agent lives on #6259: feat(desktop): name the computer an agent lives on #6259 (comment)).Verification (all on this branch's head, macOS 15.6 arm64, rustc 1.95.0)
cargo fmt --all -- --checkcargo check --locked --tests(tauri)device_identity::suitemanaged_agents::agent_events::suitetsc --noEmit(desktop)agentDeviceLabel.test.mjsNegative control on the core invariant: flipping only the
BackendKind::Providerarm of the device stamp tocurrent()fails exactly one test —projection_omits_the_device_for_a_provider_backend("a remote body must not be given this computer's id") — with 15/16 passing. Restored, 16/16. So the local-vs-provider gate is behaviorally pinned, not just compiled.Independently reproduced by @ScaleLeanChris on #6259 (macOS):
agentDeviceLabel.test.mjs4/4, focused Tauri device-identity tests 13/13, TS checking clean — the files exercised there are unchanged by the rebase.Scope / limitations
@autocomplete) intentionally remains unlanded pending reconciliation withagentProvenance(fix(desktop): distinguish duplicate agent devices #6337/fix(desktop): simplify duplicate agent provenance #6401).