fix(cli): sync official plugins during update --all#96831
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 25, 2026, 12:52 PM ET / 16:52 UTC. Summary PR surface: Source +9, Tests +68, Docs +11. Total +88 across 6 files. Reproducibility: yes. Current main and v2026.6.10 route standalone Review metrics: 1 noteworthy metric.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the narrow trusted-official bulk-sync behavior after maintainer compatibility acceptance, keep targeted exact/tagged updates pinned, and leave broader plugin drift policy to the linked issues. Do we have a high-confidence way to reproduce the issue? Yes. Current main and v2026.6.10 route standalone Is this the best way to solve the issue? Yes, if maintainers accept the compatibility boundary. Reusing the existing official-sync updater contract only for bulk AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 19707cce1d73. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +9, Tests +68, Docs +11. Total +88 across 6 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Merged via squash.
|
Co-authored-by: ooiuuii <[email protected]>
Co-authored-by: ooiuuii <[email protected]>
Co-authored-by: ooiuuii <[email protected]> (cherry picked from commit 0247eab)
Closes #94083
Supersedes #94084
Related: #94225, #95541, #84256, #83337
What Problem This Solves
This is a maintainer landing copy of #94084 by @ooiuuii, applied cleanly on current
origin/mainso the diff stays small and reviewable. The commit author is preserved asooiuuii <[email protected]>.Operators using
openclaw plugins update --allafter a core upgrade could leave trusted official OpenClaw plugins pinned to stale exact beta install records. The gateway/doctor drift checks could still report official plugin version drift, so the bulk maintenance command did not reliably converge the official plugin set.Why This Change Was Made
plugins update --allnow opts into the existing official catalog sync path, matching the post-core update recovery behavior users expect from a bulk maintenance command. The implementation passes the configured update channel through a new official-only channel parameter, so beta-channel context is available when a trusted official catalog override is selected without rewriting ordinary third-party tracked npm or ClawHub specs.Targeted
openclaw plugins update <id>remains unchanged: recorded exact versions and explicit tags stay pinned unless the operator passes a new package spec.Cluster handling:
User Impact
Operators can use
openclaw plugins update --allafter core upgrades to reconcile trusted official OpenClaw plugins with the current official catalog target. Users who intentionally pin a specific plugin through targeted updates keep that behavior, and third-party plugins are not silently moved to beta-channel selectors just becauseupdate.channelisbeta.Evidence
Original PR-head CLI proof from #94084 covered:
Maintainer-copy validation on this branch:
Results: docs listing completed, focused Vitest passed (
28CLI tests and98plugin tests), oxlint passed, andgit diff --checkpassed.