openclaw/scripts/pr-lib
Peter Steinberger 87702484d1
fix: worker turns fail on older session-host nodes after the Gateway adds a worker tool (#160147)
* fix(gateway): keep worker turns working on session hosts that predate new worker tools

A Gateway built from main added the `presence` worker session tool, and
every worker-turn launch to a published openclaw@2026.9.6 session-host
node failed with `INVALID_REQUEST: invalid worker launch descriptor`
followed by `node worker cancellation timed out`. The installed node
supervisor validates `toolAuthority.allowedToolNames` against a closed
vocabulary, and bundle refresh does not replace the supervisor.

The Gateway now negotiates the launch vocabulary per node, following the
existing capability pattern: it advertises
`node-worker-launch-tool-names-v1`, updated nodes declare
`workerHost.launchToolNames` only to Gateways that advertise it, and the
Gateway treats an absent declaration as the frozen 2026.9.6 vocabulary.
Tool authority filters the projected tool set by the destination
vocabulary, so turn authorization and the launch descriptor stay
identical. Unknown declared names are ignored, so future worker tools
need no further capability.

Update behavior: Gateway-first updates keep older nodes hosting turns
without newer tools (one info log names them); node-first updates keep
the declaration unchanged for older Gateways; updated pairs get presence.

* fix(scripts): add worker tool authority to the PR wrapper inventory

src/infra/node-runner-inventory.ts is in the trusted-anchor PR wrapper's runtime import closure and now imports src/worker/tool-authority.ts for launch tool-name negotiation; the extracted wrapper could not resolve it.

* test(gateway): await the shared async node tunnel manager fixture

Main moved createManager into node-worker-tunnel.test-support.ts as an async helper (#160415); the launch-vocabulary lifecycle test still called it synchronously.
2026-09-28 21:58:24 +00:00
..
changelog.sh
ci-dispatch.mjs fix(ci): resume interrupted protected PR preparation (#159045) 2026-09-27 02:40:25 +08:00
clawsweeper-review-gate.mjs
common.sh refactor(docs): retire Mintlify setup and preview the current site (#157544) 2026-09-24 14:28:39 -06:00
correction-review.mjs
crabbox-gate-contract.mjs fix(ci): overlap ordinary test plans around exclusive barriers (#159368) 2026-09-27 13:05:03 +08:00
crabbox-gate-plan.mts fix(ci): unblock Control UI targeted Crabbox gates (#158149) 2026-09-25 22:37:55 +08:00
crabbox-gate-transport.mts
crabbox-merge-bypass.mjs
crabbox-merge-bypass.sh
darwin-process-identity.py
gates.sh fix(ci): resume interrupted protected PR preparation (#159045) 2026-09-27 02:40:25 +08:00
gh-api-preflight.mjs
github.mjs
github.sh
host-tools.sh
materialize-dependencies.mjs refactor: remove narrowly used helper dependencies (#158573) 2026-09-26 22:38:09 -07:00
merge-body.mjs
merge-legacy-refusal.mjs
merge-outcome.sh fix(pr): read complete REST facts for prior-CI admission 2026-09-28 12:02:14 -07:00
merge-pre-dispatch-refusal.mjs
merge-prior-ci-cancellation.mjs fix(scripts): accept the CI workflow's fail-fast expression in admin landing (#160721) 2026-09-28 14:54:22 -07:00
merge-prior-ci-security.mjs fix(ci): preserve security authority in baseline failure admission 2026-09-27 21:45:21 -07:00
merge-prior-ci.mjs fix(pr): qualify attributed CI job deadlines 2026-09-28 13:14:13 -07:00
merge-rest.mjs fix(pr): read complete REST facts for prior-CI admission 2026-09-28 12:02:14 -07:00
merge.sh fix(pr): read complete REST facts for prior-CI admission 2026-09-28 12:02:14 -07:00
operation-lock.sh
prepare-core.sh fix(pr): keep correction publication valid after first push (#160587) 2026-09-29 00:58:00 +07:00
process-group-runner.mjs
push.sh fix(pr): keep correction publication valid after first push (#160587) 2026-09-29 00:58:00 +07:00
review-artifacts.mjs fix(pr): support approved pre-existing CI failures 2026-09-27 21:45:20 -07:00
review-transition-state.mjs
review.sh fix(pr): keep correction publication valid after first push (#160587) 2026-09-29 00:58:00 +07:00
worktree-provision-error.mts fix: show nested causes when PR worktree allocation fails (#157889) 2026-09-24 23:07:41 -06:00
worktree-provision.mts fix: show nested causes when PR worktree allocation fails (#157889) 2026-09-24 23:07:41 -06:00
worktree.sh fix(pr): reuse pinned heads and accept verified main advances 2026-09-28 01:22:04 -07:00
wrapper-components.txt fix: worker turns fail on older session-host nodes after the Gateway adds a worker tool (#160147) 2026-09-28 21:58:24 +00:00