Repository navigation
feat(probe): take the desktop core's public code as relay's core - #2057
Conversation
Relay's core and Agent Relay Desktop's split from the same snapshot. This brings desktop's public core in as relay's crates/probe, with relay's own behaviour kept through a per-file three-way merge: the history and relay-cli feature gates, fleet, --cli-managed, CLI workspace keys and armadillo routing, the Pi and OpenCode auto-activate settings, the Cursor fixes, and Grok joining. The core works from a workspace key with no account. Sign-in, hosted MCP setup and attestation are not in it; a build may add them through the AccountPlugin, MethodExtension and PluginBuilder hooks, which are unsupported internals rather than a public API. Device sign-in stays for Relay Connect. Relay behaviour that changes, each reviewed: stale Devin Cloud sessions stop auto-joining after 24 hours, retained Codex rows stop counting as live after 5 minutes, the Linux launcher is named agent-relay-desktop (the old name is still recognised), and integration defaults wait for a workspace. Release and history feature sets build, the release cargo tree has no relayhistory crates, relay init parity passes for every tool, and the Cursor delivery and Grok lanes pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedToo many files! This PR contains 334 files, which is 184 over the limit of 150. To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files.
|
There was a problem hiding this comment.
All reported issues were addressed across 330 files
Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.
View guided diff | Re-trigger cubic
[High impact] The PR appears safe to merge based on this re-review.
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ai-hist and history-provider-sources are both published at 0.56.0; pin both exactly so Cargo builds a single ai-hist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Restore spawn_requester_approvals when a settings change fails - Answer an account-only extension method method_not_found without an account - Retry a failed activation pass on the next poll; gate on workspace and roster too - Keep Oh My Pi's extension when Pi's is turned off in a shared folder - Retry a legacy permission_denied block once more, not at every start - Re-read the platform TLS roots every 10 minutes; log and do not cache a failed read - Serialize remote pacing writes and merge a sweep with concurrent downloads - Fence Linux command_line reads by start time; skip an overlong XDG socket path - Drop unused serde_yaml and tar; toml_edit is a dev-dependency - Neutral names in tests and comments; docs and module table brought up to date - CHANGELOG entry for the flip Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…st's doc A host whose store always reports an error or an unparsable certificate no longer reads its roots on every connect. The legacy retry marker's const no longer takes retry_job_for_build's doc comment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
All reported issues were addressed across 60 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 60 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
…case, rewrite the changelog bullets Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
All reported issues were addressed across 3 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…erge dropped #2057 three-way merged each file against the desktop snapshot 5601b739 and kept relay's side where both had changed, which dropped desktop changes made before the split. A full audit (every file, every test, every commit since the snapshot; see docs/desktop-parity-ledger.md) restores them: - relay serve --headless keeps the app's Open-at-login entry (d23664e2). - Devin reviews are never discovered, activated or recreated as offline rows (27854327, aa893455). - Grok usage records do not become empty transcript messages (fc84dd6e). - Presentation discovery runs on a fixed cadence and reads never start a pass (96ebd2c5); the fleet-authority slot stays. - AccountPlugin::auto_activate_by_default lets the desktop's account turn automatic activation on unless turned off (a37b11a3, 7373df8b); the CLI's core keeps it unset. Pi, Oh My Pi and OpenCode keep their own opt-ins, as the desktop's core never activated them by itself. - The inventory test lets startup passes settle (desktop's flake fix). Also from review: consent 401/403 mapping and Pi installer tests, the Pi installer refuses any non-regular file, and doc wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Relay's core (
crates/probe) and Agent Relay Desktop's core split from the same snapshot. This takes desktop's public core as relay's core, so both build from one place and relay-desktop can pin a relay commit as a git dependency.How it was built
A per-file three-way merge (base = the shared snapshot, one side = desktop's public core, the other = relay
main). Relay's own changes are re-applied on top. Silent losses where desktop had deleted code were found by diffing against relaymain, and restored.Relay behaviour kept
historyandrelay-clifeature gates.production-binariesimpliesrelay-cli, and the releasecargo treehas no relayhistory crates.--cli-managed, CLI workspace keys and armadillo routing.cursor_direct_delivery, and the Cursor fixes.local-user:<uid>with no account.What's new in the core
AccountPlugin,MethodExtensionandPluginBuilder. These are unsupported internals, not a public API.account.*,uploader.*andtools.*answermethod_not_found.Relay behaviour that changes, each reviewed
agent-relay-desktop; the old name is still recognised.Verification
--all-targets.--lib: 2,619 passed.history_flushtiming tests on this disk.relay initparity 8/8 across every tool, Cursor delivery, and both Grok cases.Not covered here: the matching relay-desktop change that pins this commit, which comes next.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Agent Relay sessions
claudesession7cc781f4· opened viagh pr create· last active 2026-11-02