Skip to content

fix(gateway): surface unreachable status diagnostics#74691

Merged
clawsweeper[bot] merged 2 commits intomainfrom
fix/gateway-status-unreachable-49012
May 2, 2026
Merged

fix(gateway): surface unreachable status diagnostics#74691
clawsweeper[bot] merged 2 commits intomainfrom
fix/gateway-status-unreachable-49012

Conversation

@vincentkoc
Copy link
Copy Markdown
Member

Summary

  • add a no_gateway_reachable Gateway status warning when every probe is unreachable and Bonjour discovers no local gateways
  • wire discovery count into the status warning builder so JSON and human output request service, config, listener-owner, and log diagnostics
  • cover the warning builder and the command JSON path for the exact frozen/unreachable symptom

Refs #49012. This is a diagnostic/remediation-data fix, not a root-cause closure.

Validation

  • OPENCLAW_TESTBOX=1 OPENCLAW_TESTBOX_ID=tbx_01kqdttjtb1nnj92za0mka8032 pnpm testbox:run --id tbx_01kqdttjtb1nnj92za0mka8032 -- pnpm test:serial src/commands/gateway-status/output.test.ts src/commands/gateway-status.test.ts — passed, 27 tests
  • OPENCLAW_TESTBOX=1 OPENCLAW_TESTBOX_ID=tbx_01kqdttjtb1nnj92za0mka8032 pnpm testbox:run --id tbx_01kqdttjtb1nnj92za0mka8032 -- node scripts/run-oxlint.mjs --tsconfig tsconfig.oxlint.core.json src/commands/gateway-status.ts src/commands/gateway-status/output.ts src/commands/gateway-status/output.test.ts src/commands/gateway-status.test.ts — passed
  • OPENCLAW_TESTBOX=1 OPENCLAW_TESTBOX_ID=tbx_01kqdttjtb1nnj92za0mka8032 pnpm testbox:run --id tbx_01kqdttjtb1nnj92za0mka8032 -- pnpm check:changed -- CHANGELOG.md src/commands/gateway-status.ts src/commands/gateway-status/output.ts src/commands/gateway-status/output.test.ts src/commands/gateway-status.test.ts — blocked by unrelated packages/sdk/src/index.test.ts oxlint typescript-eslint(no-redundant-type-constituents) errors after conflict-marker, changelog-attribution, typecheck core, and typecheck core test steps passed

AI-assisted: yes; diff reviewed before opening.

@openclaw-barnacle openclaw-barnacle Bot added the commands Command implementations label Apr 30, 2026
@vincentkoc vincentkoc self-assigned this Apr 30, 2026
@openclaw-barnacle openclaw-barnacle Bot added size: S maintainer Maintainer-authored PR labels Apr 30, 2026
@clawsweeper
Copy link
Copy Markdown
Contributor

clawsweeper Bot commented Apr 30, 2026

Codex review: passed.

Summary
The PR adds a no_gateway_reachable gateway probe warning, passes discovery count into warning construction, adds focused coverage, and updates the changelog.

Reproducibility: yes. for the missing diagnostic: current main can reach an all-unreachable, zero-discovery gateway probe state but has no warning branch or discovery-count input. No for the underlying #49012 freeze itself; that remains a separate root-cause investigation.

Next step before merge
No repair job is needed; with no review findings, automerge or maintainer handling should gate exact-head checks and mergeability.

Security
Cleared: The diff only changes diagnostic output, focused tests, and changelog text; no concrete security or supply-chain concern was found.

Review details

Best possible solution:

Land this diagnostic patch after exact-head checks pass, while keeping #49012 open for the separate frozen gateway or port-conflict root cause.

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

Yes for the missing diagnostic: current main can reach an all-unreachable, zero-discovery gateway probe state but has no warning branch or discovery-count input. No for the underlying #49012 freeze itself; that remains a separate root-cause investigation.

Is this the best way to solve the issue?

Yes. Deriving a warning from existing reachability and Bonjour discovery data is a narrow maintainable fix for collecting better diagnostics without pretending to fix the gateway freeze.

What I checked:

Likely related people:

  • steipete: Current-main blame attributes the gateway status output/warning builder and call site to Peter Steinberger's recent baseline, and current main also has adjacent gateway service repair work by the same maintainer. (role: recent maintainer and gateway-status owner; confidence: high; commits: 815665f839db, 3b1a020ebaec; files: src/commands/gateway-status/output.ts, src/commands/gateway-status.ts, src/daemon/service.ts)
  • heavenlost: Recent merged gateway probe work restored loopback detail probes and identity fallback, which is adjacent to the reachability classification used by this diagnostic path. (role: adjacent gateway probe maintainer; confidence: medium; commits: 3cbd4de95cdc; files: src/gateway/probe.ts, src/commands/gateway-status/helpers.ts)

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

@vincentkoc
Copy link
Copy Markdown
Member Author

/clawsweeper automerge

@vincentkoc vincentkoc marked this pull request as ready for review May 1, 2026 11:58
@clawsweeper clawsweeper Bot added the clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge label May 1, 2026
@clawsweeper
Copy link
Copy Markdown
Contributor

clawsweeper Bot commented May 1, 2026

🦞🦞
ClawSweeper merged this PR after the passing review.

Source: clawsweeper[bot]
Feedback: structured ClawSweeper verdict: pass (sha=50fb29c359864fc532a5c51de1fabfc97b973bb8)
Merge status: merged by ClawSweeper automerge
Merged at: 2026-05-02T20:00:29Z
Merge commit: 08ce17c33ddb

What merged:

Fixups included:

  • Included follow-up commit: fix(gateway): surface unreachable status diagnostics

The automerge loop is complete.

Automerge progress:

  • 2026-05-02 19:37:02 UTC review queued [`ab178403e2e2`](https://github.com/openclaw/openclaw/commit/ab178403e2e2e80c6cbc6ae0cfe4e793181d0f80) (queued)
  • 2026-05-02 19:40:38 UTC review passed [`ab178403e2e2`](https://github.com/openclaw/openclaw/commit/ab178403e2e2e80c6cbc6ae0cfe4e793181d0f80) (structured ClawSweeper verdict: pass (sha=ab178403e2e2e80c6cbc6ae0cfe4e793181d0...)
  • 2026-05-01 12:06:31 UTC repair queued `ab178403e2e2` (autonomous) Run: https://github.com/openclaw/clawsweeper/actions/runs/25213690353
  • 2026-05-01 12:37:58 UTC repair queued `ab178403e2e2` (autonomous) Run: https://github.com/openclaw/clawsweeper/actions/runs/25214526185
  • 2026-05-01 12:40:47 UTC repair queued `ab178403e2e2` (autonomous) Run: https://github.com/openclaw/clawsweeper/actions/runs/25214607221
  • 2026-05-02 19:33:09 UTC review queued [`ab178403e2e2`](https://github.com/openclaw/openclaw/commit/ab178403e2e2e80c6cbc6ae0cfe4e793181d0f80) (queued)
  • 2026-05-02 19:40:55 UTC repair queued [`ab178403e2e2`](https://github.com/openclaw/openclaw/commit/ab178403e2e2e80c6cbc6ae0cfe4e793181d0f80) (autonomous) Run: https://github.com/openclaw/clawsweeper/actions/runs/25260207109
  • 2026-05-02 19:54:42 UTC repair completed [`50fb29c35986`](https://github.com/openclaw/openclaw/commit/50fb29c359864fc532a5c51de1fabfc97b973bb8) (branch updated) in 11m 30s Run: https://github.com/openclaw/clawsweeper/actions/runs/25260207109 initial automerge rebase is delegated to Codex repair
  • 2026-05-02 19:54:41 UTC review queued [`50fb29c35986`](https://github.com/openclaw/openclaw/commit/50fb29c359864fc532a5c51de1fabfc97b973bb8) (after repair)
  • 2026-05-02 19:55:58 UTC review queued [`50fb29c35986`](https://github.com/openclaw/openclaw/commit/50fb29c359864fc532a5c51de1fabfc97b973bb8) (queued)
  • 2026-05-02 20:00:17 UTC review passed [`50fb29c35986`](https://github.com/openclaw/openclaw/commit/50fb29c359864fc532a5c51de1fabfc97b973bb8) (structured ClawSweeper verdict: pass (sha=50fb29c359864fc532a5c51de1fabfc97b973...)
  • 2026-05-02 20:00:31 UTC merged [`50fb29c35986`](https://github.com/openclaw/openclaw/commit/50fb29c359864fc532a5c51de1fabfc97b973bb8) (merged by ClawSweeper automerge)

@clawsweeper clawsweeper Bot added the clawsweeper:human-review Needs maintainer review before ClawSweeper can continue label May 1, 2026
@clawsweeper
Copy link
Copy Markdown
Contributor

clawsweeper Bot commented May 1, 2026

🦞🦞
ClawSweeper is pausing this repair loop for human review.

Source: clawsweeper[bot]
Reason: structured ClawSweeper verdict: needs-human (sha=ab178403e2e2e80c6cbc6ae0cfe4e793181d0f80)

I added clawsweeper:human-review and left the final call with a maintainer.

@clawsweeper clawsweeper Bot removed the clawsweeper:human-review Needs maintainer review before ClawSweeper can continue label May 1, 2026
@clawsweeper clawsweeper Bot force-pushed the fix/gateway-status-unreachable-49012 branch from ab17840 to 50fb29c Compare May 2, 2026 19:54
@clawsweeper clawsweeper Bot merged commit 08ce17c into main May 2, 2026
86 of 88 checks passed
@clawsweeper clawsweeper Bot deleted the fix/gateway-status-unreachable-49012 branch May 2, 2026 20:00
lxe pushed a commit to lxe/openclaw that referenced this pull request May 6, 2026
Summary:
- The PR adds a `no_gateway_reachable` gateway probe warning, passes discovery count into warning construction, adds focused coverage, and updates the changelog.
- Reproducibility: yes. for the missing diagnostic: current main can reach an all-unreachable, zero-discovery  ... -count input. No for the underlying openclaw#49012 freeze itself; that remains a separate root-cause investigation.

ClawSweeper fixups:
- Included follow-up commit: fix(gateway): surface unreachable status diagnostics

Validation:
- ClawSweeper review passed for head 50fb29c.
- Required merge gates passed before the squash merge.

Prepared head SHA: 50fb29c
Review: openclaw#74691 (comment)

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
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 maintainer Maintainer-authored PR size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant