remote server: sync home skills and global rules#12669
Conversation
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR makes local home skills visible in remote SSH and disconnected sessions and adjusts read-skill display text for unresolved path references.
Concerns
- Local home skills are still emitted as path-based descriptors, but remote-session
read_skilltool calls convert path strings using the remote host origin. As a result, a listed local home skill is converted back as a remote path andSkillManager::active_skill_by_referencecannot resolve it, so the advertised skill cannot actually be read or invoked.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
| .map(|path| (home_dir.clone(), path)), | ||
| ); | ||
| } | ||
| skill_paths.extend( |
There was a problem hiding this comment.
convert_read_skill uses SkillPathOrigin::Remote for path tool calls, so /home/.../.agents/skills/.../SKILL.md comes back as a remote path and active_skill_by_reference will not find the local cached skill. The PR will list home skills in remote sessions, but invoking read_skill on them still fails; preserve the local path origin in the skill reference/transport or otherwise special-case home-skill references, and add a remote-origin read-skill conversion test.
Co-Authored-By: Oz <oz-agent@warp.dev>
0ed4c9f to
cda1341
Compare
Description
Remote SSH Agent conversations currently receive remote project skills and rules, but not file-based home context from the remote host. This means remote home skills such as
~/.agents/skills/...cannot be discovered or invoked, and remote file-based global rules such as~/.agents/AGENTS.mddo not affect Agent context.This adds daemon-to-client full replacement snapshots for remote home skills and file-based global rules. The daemon sends initial snapshots during connection initialization and broadcasts replacements when local watchers observe additions, edits, or deletions.
On the client, both catalogs are stored by remote host ID:
Linked Issue
ready-to-specorready-to-implement.Testing
Added targeted coverage for protocol round trips, client and manager events, daemon initial/replacement delivery, snapshot validation, host isolation, exact-path skill invocation, global-rule layering, replacement/deletion, and keeping remote global rules out of local Rules UI accessors.
Validated with:
cargo check -p warp --features local_fsTargeted tests in
remote_server,ai, andwarp./script/formatcargo clippy --workspace --all-targets --all-features --tests -- -D warningsI have manually tested my changes locally with
./script/runAgent Mode
Conversation: https://staging.warp.dev/conversation/4cc132a7-1b4f-4241-a0ab-de874b5342fb
CHANGELOG-IMPROVEMENT: Remote SSH Agent conversations now use home skills and file-based global rules from the remote host.
Co-Authored-By: Oz oz-agent@warp.dev