fix(update): detect nested macOS gateway ancestry#85391
Conversation
|
Codex review: needs maintainer review before merge. Latest ClawSweeper review: 2026-05-22 15:51 UTC / May 22, 2026, 11:51 AM ET. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: no. high-confidence live macOS reproduction was run in this read-only review. The source path is credible because current main checks only the service runtime PID against the caller/ancestor set while macOS ancestry currently stops at process.ppid. PR rating Rank-up moves:
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. Real behavior proof Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge Security Review detailsBest possible solution: Land the ancestry/refusal fix after dependency/security review or split-out of the shrinkwrap refresh, with maintainer acceptance of the fail-closed macOS behavior and preferably redacted macOS LaunchAgent proof. Do we have a high-confidence way to reproduce the issue? No high-confidence live macOS reproduction was run in this read-only review. The source path is credible because current main checks only the service runtime PID against the caller/ancestor set while macOS ancestry currently stops at process.ppid. Is this the best way to solve the issue? Partly yes: the refusal path is a narrow maintainable fix for the immediate gateway-kill hazard, but maintainers still need to accept fail-closed behavior and review or split the shrinkwrap refresh. Label justifications:
Security concerns:
Acceptance criteria:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 5cc0dbce8628. |
|
ClawSweeper PR egg 🔥 Warming up: real-behavior proof passed; findings, security review, or rank-up moves are still in progress. Hatch commandComment Hatchability rules:
What is this egg doing here?
|
973912d to
c39ff31
Compare
f4afc29 to
8cceb8d
Compare
Dependency Changes DetectedThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
ea31647 to
f754bab
Compare
f99a3d6 to
100b8dd
Compare
100b8dd to
1e0e000
Compare
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
* fix(update): detect nested macOS gateway ancestry * fix(release): refresh shrinkwrap for CI npm * fix(update): inherit gateway runtime pid for update guard
Summary
psso nested updater children inherit the existing gateway-ancestry block before package updates stop the managed Gateway service.Fixes #85120.
Verification
node scripts/run-vitest.mjs src/cli/update-cli.test.ts src/infra/restart.test.ts src/infra/restart-stale-pids.test.ts src/cli/gateway-cli/run.option-collisions.test.ts test/scripts/install-ps1.test.ts -- -t "runtime pid|ancestor|gateway process tree|managed gateway service|service-mode gateway descendants|poll timeout|caller timeout|explicit port override|portable Node"node scripts/run-vitest.mjs test/scripts/install-ps1.test.ts -- -t "portable Node"node scripts/run-oxlint.mjs test/scripts/install-ps1.test.ts CHANGELOG.md src/daemon/constants.ts src/cli/gateway-cli/run.ts src/cli/gateway-cli/run.option-collisions.test.ts src/cli/update-cli/update-command.ts src/cli/update-cli.test.ts src/infra/restart.test.ts src/infra/restart-stale-pids.ts src/infra/restart-stale-pids.test.ts./node_modules/.bin/oxfmt --check --threads=1 test/scripts/install-ps1.test.ts CHANGELOG.md src/daemon/constants.ts src/cli/gateway-cli/run.ts src/cli/gateway-cli/run.option-collisions.test.ts src/cli/update-cli/update-command.ts src/cli/update-cli.test.ts src/infra/restart.test.ts src/infra/restart-stale-pids.ts src/infra/restart-stale-pids.test.tsnode scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfogit diff --checkgit diff --check origin/main...HEADtmp_npm_dir=$(mktemp -d /tmp/openclaw-npm-11.6.2-rerebased-check.XXXXXX) && npm install --prefix "$tmp_npm_dir" [email protected] >/dev/null && PATH="$tmp_npm_dir/node_modules/.bin:$PATH" node scripts/generate-npm-shrinkwrap.mjs --all --check.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main-> clean, no accepted/actionable findings; overall patch is correct (0.78).Blocked validation:
OPENCLAW_TESTBOX=1 pnpm check:changedcould not run here because local pnpm attempted a dependency repair/install before invoking the script. The direct Testbox wrapper path then failed because this shell is not authenticated with Blacksmith (blacksmith auth loginrequired).