Skip to content

fix(gateway): keep unmanaged restarts in-process#83138

Merged
clawsweeper[bot] merged 1 commit into
openclaw:mainfrom
mjamiv:fix/custom-supervisor-inprocess-restart
May 17, 2026
Merged

fix(gateway): keep unmanaged restarts in-process#83138
clawsweeper[bot] merged 1 commit into
openclaw:mainfrom
mjamiv:fix/custom-supervisor-inprocess-restart

Conversation

@mjamiv

@mjamiv mjamiv commented May 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • keep ordinary unmanaged gateway restarts in-process instead of detached-spawning a replacement child
  • preserve trusted supervisor handoff behavior and keep update.run on the fresh-process replacement path
  • update the focused respawn tests plus low-power host doctor/docs wording for the new restart contract

Validation

  • node scripts/run-vitest.mjs src/infra/process-respawn.test.ts src/cli/gateway-cli/run-loop.test.ts src/commands/doctor-platform-notes.startup-optimization.test.ts
  • pnpm exec oxfmt --check --threads=1 src/infra/process-respawn.ts src/infra/process-respawn.test.ts src/commands/doctor-platform-notes.ts src/commands/doctor-platform-notes.startup-optimization.test.ts docs/vps.md docs/install/raspberry-pi.md CHANGELOG.md
  • pnpm check:changed --base upstream/main
  • git diff --check

Real behavior proof

  • Behavior or issue addressed: ordinary unmanaged gateway restarts no longer detach-spawn a replacement child that can orphan from a custom supervisor; they return disabled so the run loop uses its in-process restart fallback.
  • Real environment tested: local Linux source checkout at 21b538ee68 with dependencies installed, running the patched restart helper in a real Node 24 process without Vitest or module mocks.
  • Exact steps or command run after this patch:
node --import tsx --input-type=module -e '
import { restartGatewayProcessWithFreshPid } from "./src/infra/process-respawn.ts";
import { SUPERVISOR_HINT_ENV_VARS } from "./src/infra/supervisor-markers.ts";
for (const key of SUPERVISOR_HINT_ENV_VARS) delete process.env[key];
delete process.env.OPENCLAW_NO_RESPAWN;
const result = restartGatewayProcessWithFreshPid();
console.log(JSON.stringify({ platform: process.platform, supervisorHintsCleared: true, result, spawnedDetachedChild: result.mode === "spawned" }, null, 2));
'
  • Evidence after fix:
{
  "platform": "linux",
  "supervisorHintsCleared": true,
  "result": {
    "mode": "disabled",
    "detail": "unmanaged: use in-process restart to keep custom supervisor PID tracking stable"
  },
  "spawnedDetachedChild": false
}
  • Observed result after fix: with no trusted supervisor hints and OPENCLAW_NO_RESPAWN unset, the real helper returns the in-process fallback result and does not detach-spawn a child.
  • What was not tested: I did not run a full live non-container bash/Python supervisor loop against an active gateway; the focused tests cover the run-loop fallback and preserve the separate update.run fresh-process path.

Fixes #65668

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation commands Command implementations size: S triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 17, 2026
@clawsweeper

clawsweeper Bot commented May 17, 2026

Copy link
Copy Markdown
Contributor

Codex review: passed.

Workflow note: Future ClawSweeper reviews update this same comment in place.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by maintainer comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors can comment @clawsweeper re-review or @clawsweeper re-run on their own open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

Summary
The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.

Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, and the run loop exits on mode "spawned". The PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Real behavior proof
Sufficient (terminal): The PR body includes after-fix terminal output from a real Node/tsx process showing unmanaged Linux returns disabled and does not spawn a detached child.

Next step before merge
No repair lane is needed because the open PR already contains the focused code, tests, docs, changelog, and real behavior proof; exact-head CI/automerge gates are the next step.

Security
Cleared: The diff changes gateway restart control flow, focused tests, docs, and changelog text without adding dependencies, workflow permissions, downloads, or secret-handling changes.

Review details

Best possible solution:

Land this focused PR after exact-head CI/automerge validation so ordinary unmanaged restarts use the existing in-process fallback while update restarts keep fresh-process replacement.

Do we have a high-confidence way to reproduce the issue?

Yes, at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, and the run loop exits on mode "spawned". The PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Is this the best way to solve the issue?

Yes. Returning disabled for ordinary unmanaged restarts is the narrowest maintainable fix because the run loop already has an in-process fallback, and the PR leaves update.run on respawnGatewayProcessForUpdate.

What I checked:

  • Current main unmanaged restart path: On current main, after OPENCLAW_NO_RESPAWN, supervisor, Windows, and container checks are bypassed, restartGatewayProcessWithFreshPid calls spawnDetachedGatewayProcess and returns mode "spawned". (src/infra/process-respawn.ts:85, aa71f7fe1568)
  • Current main fallback contract: The run loop already treats disabled or failed ordinary restart results as an in-process restart by logging the fallback, reacquiring the gateway lock, clearing shutdown state, and resolving the restart loop. (src/cli/gateway-cli/run-loop.ts:289, aa71f7fe1568)
  • PR implementation: The PR head changes the unmanaged fallthrough in restartGatewayProcessWithFreshPid to return mode "disabled" with the custom-supervisor detail instead of spawning a detached child. (src/infra/process-respawn.ts:86, 8c82df6c776f)
  • Update restart path preserved: The PR head leaves respawnGatewayProcessForUpdate on the detached spawn path for unmanaged updates, so update.run still uses a fresh process unless that update respawn fails or is disabled. (src/infra/process-respawn.ts:119, 8c82df6c776f)
  • PR regression coverage: The PR updates unmanaged Unix helper coverage to expect disabled/no spawn and adds update detached-respawn failure coverage. (src/infra/process-respawn.test.ts:136, 8c82df6c776f)
  • Shipped behavior check: The latest release tag v2026.5.12 still contains the unmanaged ordinary restart fallthrough that calls spawnDetachedGatewayProcess and returns mode "spawned". (src/infra/process-respawn.ts:77, f066dd2f31c2)

Likely related people:

  • steipete: Peter Steinberger has the heaviest recent history across process-respawn.ts, run-loop.ts, and restart tests, including restart fallback, launchd KeepAlive, and adjacent gateway restart refactors. (role: recent restart-area contributor; confidence: high; commits: 4aa2dc685792, a65ab607c746, aca488d5bed6; files: src/infra/process-respawn.ts, src/infra/process-respawn.test.ts, src/cli/gateway-cli/run-loop.ts)
  • cathrynlavery: Cathryn Lavery authored/co-authored earlier process-respawn restart fallback work that changed the supervised restart handling this PR builds around. (role: restart fallback contributor; confidence: medium; commits: db67492a00b4, 4aa2dc685792; files: src/infra/process-respawn.ts, src/infra/process-respawn.test.ts)
  • taw0002: taw0002 added OpenClaw-managed launchd/systemd service detection in process respawn, directly adjacent to the managed versus unmanaged branch this PR changes. (role: supervisor-detection contributor; confidence: medium; commits: 792ce7b5b456; files: src/infra/process-respawn.ts, src/infra/process-respawn.test.ts)
  • obviyus: Ayaan Zaidi implemented Windows scheduled-task restart support and supervisor marker updates in the same process-respawn surface. (role: adjacent supervisor-restart contributor; confidence: medium; commits: 05c240fad6fe; files: src/infra/process-respawn.ts, src/infra/supervisor-markers.ts, src/infra/process-respawn.test.ts)

Remaining risk / open question:

  • Exact-head CI and merge validation still need to gate the automerge flow; this read-only review did not run local tests.

Codex review notes: model gpt-5.5, reasoning high; reviewed against aa71f7fe1568.

@openclaw-barnacle openclaw-barnacle Bot added proof: supplied External PR includes structured after-fix real behavior proof. and removed triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 17, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. P1 High-priority user-facing bug, regression, or broken workflow. impact:crash-loop Crash, hang, restart loop, or process-level availability failure. labels May 17, 2026
@mjamiv
mjamiv force-pushed the fix/custom-supervisor-inprocess-restart branch from 21b538e to 8c82df6 Compare May 17, 2026 15:07
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 17, 2026
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 17, 2026
@Takhoffman

Copy link
Copy Markdown
Contributor

@clawsweeper automerge

@clawsweeper clawsweeper Bot added the clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge label May 17, 2026
@clawsweeper

clawsweeper Bot commented May 17, 2026

Copy link
Copy Markdown
Contributor

🦞✅
ClawSweeper merged this PR after the passing review.

Source: clawsweeper[bot]
Feedback: structured ClawSweeper verdict: pass (sha=8c82df6c776f746cf4fd99ccccfb366cb34e25c6)
Merge status: merged by ClawSweeper automerge
Merged at: 2026-05-17T21:19:06Z
Merge commit: c93d6d8daa37

What merged:

  • The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
  • Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:

  • No ClawSweeper repair was needed after automerge opt-in.

The automerge loop is complete.

Automerge progress:

  • 2026-05-17 21:12:56 UTC review queued 8c82df6c776f (queued)
  • 2026-05-17 21:18:48 UTC review passed 8c82df6c776f (structured ClawSweeper verdict: pass (sha=8c82df6c776f746cf4fd99ccccfb366cb34e2...)
  • 2026-05-17 21:19:08 UTC merged 8c82df6c776f (merged by ClawSweeper automerge)

@clawsweeper
clawsweeper Bot merged commit c93d6d8 into openclaw:main May 17, 2026
128 checks passed
markfietje pushed a commit to markfietje/openclaw that referenced this pull request May 20, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6c776f746cf4fd99ccccfb366cb34e25c6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6c776f746cf4fd99ccccfb366cb34e25c6
Review: openclaw/openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
markfietje pushed a commit to markfietje/openclaw that referenced this pull request May 20, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6c776f746cf4fd99ccccfb366cb34e25c6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6c776f746cf4fd99ccccfb366cb34e25c6
Review: openclaw/openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
galiniliev pushed a commit to galiniliev/openclaw that referenced this pull request May 20, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 24, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
galiniliev pushed a commit to galiniliev/openclaw that referenced this pull request May 25, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
jameslcowan pushed a commit to jameslcowan/openclaw that referenced this pull request Jun 2, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SYU8384 pushed a commit to SYU8384/openclaw that referenced this pull request Jun 3, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
sablehead pushed a commit to sablehead/openclaw that referenced this pull request Jun 10, 2026
Summary:
- The PR changes ordinary unmanaged gateway restarts to return the existing in-process fallback instead of detached-spawning a replacement child, with focused tests, docs wording, and a changelog entry.
- Reproducibility: yes. at source level: current main and v2026.5.12 detach-spawn unmanaged ordinary restarts, ... e PR body also supplies after-fix terminal proof that the patched helper returns disabled without spawning.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 8c82df6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8c82df6
Review: openclaw#83138 (comment)

Co-authored-by: mjamiv <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge commands Command implementations docs Improvements or additions to documentation impact:crash-loop Crash, hang, restart loop, or process-level availability failure. P1 High-priority user-facing bug, regression, or broken workflow. proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: supplied External PR includes structured after-fix real behavior proof. size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: SIGUSR1/config.patch restart orphans gateway under custom supervisors → EADDRINUSE crash loop (workaround: OPENCLAW_NO_RESPAWN=1)

3 participants