fix(skills): use junction symlinks on Windows to avoid EPERM without Developer Mode (#77958)#77971
Conversation
|
Codex review: needs maintainer review before merge. Summary Reproducibility: yes. from source and reporter logs, but not from a live run here. Current main hardcodes Real behavior proof Next step before merge Security Review detailsBest possible solution: Land the narrowed junction fix after normal maintainer merge gates, preserving plugin-root containment and managed plugin-skills cleanup behavior. Do we have a high-confidence way to reproduce the issue? Yes from source and reporter logs, but not from a live run here. Current main hardcodes Is this the best way to solve the issue? Yes. Switching generated plugin-skill directory links to What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 981e32d05d3b. |
20853ca to
2a21a37
Compare
|
Maintainer prep update:
Verification run locally:
|
|
Merged with squash after maintainer prep and green CI.\n\nPrepared head: |
Fixes #77958.
Summary
junctiondirectory links when publishing plugin-provided skills into the managed plugin-skills directory.dirsymlink behavior.Verification
pnpm install --frozen-lockfilepnpm test src/agents/skills/plugin-skills.test.ts— 22 tests passedpnpm exec oxfmt --check --threads=1 src/agents/skills/plugin-skills.ts src/agents/skills/plugin-skills.test.ts CHANGELOG.mdgit diff --checkpnpm check:changedMaintainer notes
This branch was narrowed during maintainer prep to the #77958 plugin-skills Windows fix only. The unrelated Ollama changes from the original branch were dropped.
Live Windows standard-user proof was not run from this macOS maintainer workspace; the issue is source-backed by the existing
fs.symlinkSync(..., "dir")call and covered by focused regression tests. Aproof: overridelabel/comment records that maintainer decision.