OpenClaw merged PR #162960, titled fix: enable Skill source lifecycle in paired-node workspaces, just before the October 2nd nightly cutoff. The change closes a practical gap for OpenClaw Enterprise-style paired-node workspaces: Skill source installation could fail even when discovery and dependency installation worked.
The pull request says source records and ClawHub update/removal support were also missing from that adapter. After this change, paired-node workspaces can install and track Skill sources, update ClawHub Skills, and remove them through the existing workspace lifecycle.
What Changed
The change connects the existing workspace contract to native Skill workers. Gateway still owns policy decisions and change hooks, while the paired node owns source files, installation records, and temporary archive cleanup.
That split is important. Paired-node setups exist because some work belongs near the node, not inside the Gateway process. The Gateway should decide what is allowed, but the node should manage the files and local lifecycle it actually controls.
The PR also adds publication checkpoints enabled by the node adapter. Existing SSH publishers keep their current single-policy-reply and stdin-close protocol, and local installers keep their current path. The author is explicit that this does not add channel menus or a new public uninstall API.
User Impact
For operators, the user-facing result is straightforward:
- Paired-node workspaces can install Skill source archives.
- Installed sources can be tracked through the workspace lifecycle.
- ClawHub Skill updates can run through the adapter.
- Removal uses the registered workspace adapter and cleanup hooks.
- Installed files remain on the node.
The PR says operators must allow the documented Skill and metadata paths. That keeps the feature tied to explicit workspace policy instead of quietly widening where a paired node can write.
Cancellation And Rollback Matter Here
The most interesting part of the implementation is cancellation handling. The PR says that when cancellation happens, the node closes the installer's input and drains it so native rollback can restore a displaced Skill before exit. A 30-second forced-stop fallback bounds a stuck worker.
That detail matters because Skill installation is not just a copy operation. A replacement can displace an old Skill tree before the new one is fully admitted. If authority changes in the middle, OpenClaw needs to restore the old tree instead of leaving the workspace half-mutated.
The evidence section describes a fixture that pauses publication after backup displacement, disables uploads through config.patch, then releases the checkpoint. The expected result is rejection of the replacement and restoration of the complete old Skill tree.
Evidence From The PR
The PR includes several layers of validation. A real Gateway/node authority proof boots separate Gateway and paired-node processes and calls the normal upload/install RPCs. With uploads disabled, replacement is refused. During mid-publication revocation, the old target is restored and temporary staging directories are empty afterward.
The author also reports:
- A cancellation regression that restores the exact old tree after Gateway/node cancellation.
- A synthetic HTTP ClawHub registry test covering install, tracking, update, owner-edit refusal, persistence, and removal.
- A full file-transfer plugin suite with 357 passed and 3 skipped.
- 243 focused native lifecycle, installer, and adapter tests.
- Final-image SSH compatibility proof with the expected policy reply and stdin EOF protocol.
That is a lot of evidence for a lifecycle adapter, and it is warranted. Installation, update, and removal are durable filesystem actions. A failed rollback is not a cosmetic bug.
Why It Matters
Skills are one of OpenClaw's main extension surfaces. If paired-node workspaces can discover Skills but cannot reliably install, update, and remove them, the node model feels incomplete.
This merge makes the paired-node path behave more like a first-class workspace owner while preserving Gateway policy authority. That is exactly the shape OpenClaw needs as more work moves out to remote nodes: local execution where it belongs, central admission where it matters.