[codex] Fix runtime deps update from legacy symlinks#75288
[codex] Fix runtime deps update from legacy symlinks#75288steipete merged 3 commits intoopenclaw:mainfrom
Conversation
|
Codex review: needs maintainer review before merge. What this changes: The branch adds a helper to remove legacy Maintainer follow-up before merge: This is an open, ready, mergeable implementation PR with no discrete automated repair finding; the next action is maintainer review plus exact-head CI/changed-gate validation. Security review: Security review cleared: The diff touches filesystem symlink handling but does not add workflows, dependency sources, lockfile changes, lifecycle hooks, or secret handling; the symlink exception is scoped to removing the plugin-local symlink itself before the existing guard handles all other symlinks. Review detailsBest possible solution: Land this patch or an equivalent narrow fix after exact-head validation passes, keeping the legacy symlink exception scoped to OpenClaw-owned runtime-deps migration and leaving arbitrary symlink replacement blocked. Do we have a high-confidence way to reproduce the issue? Yes. A focused reproduction is to make Is this the best way to solve the issue? Yes. The PR is the narrow maintainable approach because it unlinks only legacy runtime-deps symlinks resolving under the OpenClaw-owned root, then lets the existing replacement/removal and arbitrary-symlink guards continue to enforce the unsafe cases. Acceptance criteria:
What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against e8f9c3e6dedc. |
ba07db4 to
df8b043
Compare
b68a98b to
4a69feb
Compare
|
Landed via rebase onto
Thanks @goldmar! |
Summary
Root Cause
Users updating from the older runtime dependency layout can have dist/extensions//node_modules symlinked into .local/bundled-plugin-runtime-deps. The newer staging path refuses to replace symlinked node_modules paths, so update builds can fail before the new materialized runtime deps are written.
Validation
The test run emitted Rolldown plugin timing warnings only; no compiler deprecation warnings appeared during the build.