fix(compute): unify SSH Compute Skill materialization - #601
Merged
Conversation
wen2zhou
marked this pull request as draft
August 2, 2026 01:56
ewen-poch
marked this pull request as ready for review
August 2, 2026 06:44
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.
Problem
SSH Compute was materialized both as the bundled
os-remote-compute-sshSkill and as a bareremote-compute-sshruntime document. The two documents could diverge, and generic Skill refreshes could overwrite the live host projection.Proposed change
Use
os-remote-compute-ssh/SKILL.mdas the sole canonical document. Preserve its host projection during generic materialization, synchronize it before agent discovery and after Compute host mutations, and remove only the known bare legacy directory.Scope and non-goals
This change only affects SSH Compute Skill provisioning. It does not alter Specialist switching, connector filtering, host persistence, SSH APIs, or Settings UI behavior.
Acceptance criteria and validation
npm test -- src/main/compute/skill-provisioning.test.ts src/main/compute/skill-doc.test.ts src/main/skills/materializer.test.ts src/main/compute/ipc.test.ts src/main/settings/agent-runtime-manager.test.ts-> passed (80 tests).npm run typecheck-> passed.npm run lint-> passed.npm test-> attempted after the final material edit; blocked by the worktree/Vite filesystem restriction denying access to the parent-repositorypdfjs-distworker import. This fails unrelated renderer preview tests before they initialize.Review focus
Please verify the canonical-path ownership boundary, preservation of dynamic host data across a bundled Skill refresh, and the narrow legacy-directory cleanup.