Skip to content

chore: upgrade agent runtime dependencies#3832

Merged
jyaunches merged 14 commits into
mainfrom
upgrade/all-deps-2026-05-19
May 20, 2026
Merged

chore: upgrade agent runtime dependencies#3832
jyaunches merged 14 commits into
mainfrom
upgrade/all-deps-2026-05-19

Conversation

@ericksoa

@ericksoa ericksoa commented May 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • upgrade OpenClaw pins and metadata to stable 2026.5.18
  • upgrade OpenShell stable install/blueprint pins to v0.0.44
  • upgrade Hermes Agent to v2026.5.16 / Hermes Agent v0.14.0 with the verified tarball SHA-256
  • include the repo-obvious fourth runtime pin, @tencent-weixin/openclaw-weixin, from 2.4.2 to 2.4.3; the host iLink client version is documented as lockstep with that sandbox plugin

Validation

  • npm run build:cli
  • npx vitest run test/validate-blueprint.test.ts test/generate-openclaw-config.test.ts test/install-openshell-version-check.test.ts test/onboard-gateway-runtime.test.ts test/onboard-openshell-version.test.ts src/lib/onboard/docker-driver-gateway-runtime-marker.test.ts src/lib/sandbox/version.test.ts src/lib/verify-deployment.test.ts src/ext/wechat/qr.test.ts src/ext/wechat/login.test.ts test/seed-wechat-accounts.test.ts test/generate-hermes-config.test.ts test/hermes-plugin-handlers.test.ts test/hermes-provider-foundation.test.ts test/hermes-sandbox-workflow.test.ts test/hermes-share-mount-deps.test.ts test/hermes-start.test.ts test/hermes-tool-gateway-broker.test.ts test/nemohermes-alias.test.ts src/lib/hermes-provider-auth.test.ts --testTimeout 60000
  • cd nemoclaw && npm test -- src/package-metadata.test.ts
  • npm run validate:configs
  • npm run source-shape:check
  • npm run checks
  • npx tsx scripts/e2e/check-parity-map.ts --strict
  • npx tsx scripts/e2e/lint-conventions.ts
  • git diff --check
  • bash -n scripts/install-openshell.sh scripts/brev-launchable-ci-cpu.sh test/e2e/test-openshell-version-pin.sh test/e2e/test-openshell-gateway-upgrade.sh
  • shellcheck scripts/install-openshell.sh scripts/brev-launchable-ci-cpu.sh test/e2e/test-openshell-version-pin.sh test/e2e/test-openshell-gateway-upgrade.sh

Summary by CodeRabbit

  • New Features

    • Detect native tool-search catalogs; improved WeChat account seeding using local plugin metadata; smarter Kimi inference command splitting; unified OpenClaw JSON output parsing helper.
  • Bug Fixes

    • Hardened WebSocket pre-auth handshake timeout handling; more precise policy host extraction; stronger gateway readiness and crash-loop recovery checks.
  • Chores

    • Bumped OpenClaw, Hermes, OpenShell and WeChat plugin versions; added runtime flag for preinstalled WeChat plugin; broad test and CI updates.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Bumps OpenClaw/Hermes/OpenShell/WeChat plugin pins; adds WeChat plugin metadata discovery and multi-channel seeding; centralizes OpenClaw JSON payload extraction; refactors Kimi exec splitting and tool-catalog handling; updates Dockerfile patching, Slack proof, tests, and docs.

Changes

Upstream Version Coordination and Plugin Overhaul

Layer / File(s) Summary
Build args, manifests, and package pins
Dockerfile.base, agents/hermes/Dockerfile.base, agents/hermes/manifest.yaml, agents/openclaw/manifest.yaml, nemoclaw-blueprint/blueprint.yaml, nemoclaw/package.json, src/ext/wechat/qr.ts, docs/reference/commands.mdx, .agents/skills/nemoclaw-user-reference/references/commands.md
Bump OpenClaw to 2026.5.18, Hermes to v2026.5.16, and the @tencent-weixin/openclaw-weixin plugin to 2.4.3; update manifests, package.json compat/build values, and documentation examples.
OpenShell pinning and installation defaults
scripts/brev-launchable-ci-cpu.sh, scripts/install-openshell.sh, src/lib/onboard/..., test/e2e/*, test/install-openshell-version-check.test.ts
Raise OpenShell min/max/dev fallback pins from 0.0.390.0.44; update CI comments, installer scripts, fallback supervisor/gateway refs, and E2E/test fixtures to use 0.0.44/0.0.45 scenarios.
WeChat plugin discovery and multi-channel seeding
scripts/generate-openclaw-config.py, scripts/seed-wechat-accounts.py, Dockerfile, test/generate-openclaw-config.test.ts, test/seed-wechat-accounts.test.ts
Detect preinstalled plugin metadata or env signal before seeding; derive channel ids from installed plugin metadata; patch openclaw.json for all derived/legacy channel ids; bump plugin spec to @tencent-weixin/openclaw-weixin@2.4.3.
E2E JSON payload helper & migration
test/e2e/lib/openclaw-agent-json.py, multiple test/e2e/*.sh, test/openclaw-agent-json.test.ts
Add helper to normalize/extract assistant payload.text from OpenClaw JSON envelopes; migrate many E2E scripts from inline Python parsers to this shared helper and add unit tests for it.
Kimi exec-splitting and tool-catalog detection
nemoclaw-blueprint/openclaw-plugins/kimi-inference-compat/index.js, scripts/patch-openclaw-tool-catalog.js, test/openclaw-tool-catalog-patch.test.ts
Refactor safe combined-exec splitting for messages and deltas with encoding helpers; detect native tool-search selection files and treat them as unpatchable.
Slack proof, Dockerfile patches, gateway readiness, and regression tests
test/e2e/lib/slack-api-proof.sh, Dockerfile, test/fetch-guard-patch-regression.test.ts, test/e2e/test-issue-2478-crash-loop-recovery.sh, src/lib/policy/index.ts
Add hermetic fallback for Slack proof when OpenClaw helpers are unavailable; generalize Dockerfile OpenClaw patching and add regression test; enhance gateway readiness checks and tighten host parsing in policy extraction.
Unit tests, parity docs, and misc updates
src/lib/sandbox/version.test.ts, src/lib/verify-deployment.test.ts, numerous test fixtures and parity docs
Update tests/fixtures/parity inventories to expect the new pinned versions, tweak test utilities, and refine comments/diagnostics across test scripts.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested labels

NemoClaw CLI, Integration: WeChat, v0.0.44

Suggested reviewers

  • cv
  • jyaunches

"I hopped through versions, pins in tow,
Found WeChat channels where local data grow,
Tests now share one little Python light,
Kimi splits commands tidy and right,
A rabbit cheers the infra’s new glow." 🐇✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 22.39% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'chore: upgrade agent runtime dependencies' directly summarizes the main change in the changeset—upgrading OpenClaw, OpenShell, Hermes Agent, and WeChat plugin versions.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch upgrade/all-deps-2026-05-19

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: cloud-e2e, cloud-onboard-e2e, test-e2e-sandbox, test-e2e-gateway-isolation, test-non-root-sandbox-smoke, openshell-version-pin-e2e, openshell-gateway-upgrade-e2e, gateway-health-honest-e2e, gateway-drift-preflight-e2e, onboard-inference-smoke-e2e, openclaw-plugin-runtime-exdev-e2e, kimi-inference-compat-e2e, messaging-providers-e2e, messaging-compatible-endpoint-e2e, channels-stop-start-e2e, openclaw-inference-switch-e2e, model-router-provider-routed-inference-e2e, bedrock-runtime-compatible-anthropic-e2e, network-policy-e2e, sandbox-operations-e2e, hermes-e2e, launchable-smoke-e2e
Optional E2E: cloud-inference-e2e, brave-search-e2e, hermes-inference-switch-e2e, rebuild-openclaw-e2e, upgrade-stale-sandbox-e2e, issue-2478-crash-loop-recovery-e2e

Dispatch hint: cloud-e2e,cloud-onboard-e2e,kimi-inference-compat-e2e,messaging-providers-e2e,messaging-compatible-endpoint-e2e,channels-stop-start-e2e,openclaw-inference-switch-e2e,bedrock-runtime-compatible-anthropic-e2e,network-policy-e2e,sandbox-operations-e2e,hermes-e2e,openshell-gateway-upgrade-e2e,launchable-smoke-e2e

Auto-dispatched E2E: cloud-e2e, cloud-onboard-e2e, openshell-gateway-upgrade-e2e, kimi-inference-compat-e2e, messaging-providers-e2e, messaging-compatible-endpoint-e2e, channels-stop-start-e2e, openclaw-inference-switch-e2e, bedrock-runtime-compatible-anthropic-e2e, network-policy-e2e, sandbox-operations-e2e, hermes-e2e, launchable-smoke-e2e via nightly-e2e.yaml at cd41b2b4f5ebf6758a62f4c3036c6817f244db11nightly run

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • cloud-e2e (high): Validates the complete source install → onboard → sandbox creation → policy setup → live NVIDIA inference → OpenClaw agent user flow after the OpenShell/OpenClaw version bumps and Docker/runtime changes.
  • cloud-onboard-e2e (high): Focused onboarding validation for installer, Landlock/read-only behavior, credential leak checks, and inference.local after changes to install-openshell, onboard, Dockerfile, blueprint pins, and config generation.
  • test-e2e-sandbox (medium): Builds the modified sandbox image and runs in-container blueprint/OpenClaw/plugin smoke assertions, directly covering Dockerfile, Dockerfile.base, blueprint, package metadata, and OpenClaw patch changes.
  • test-e2e-gateway-isolation (medium): Required because Dockerfile runtime changes and gateway token/config handling can affect isolation guarantees and gateway process boundaries.
  • test-non-root-sandbox-smoke (low): Covers non-root sandbox startup after image/base image and OpenClaw plugin/runtime-dependency changes, including permissions-sensitive WeChat/plugin state paths.
  • openshell-version-pin-e2e (low): Directly covers the OpenShell max/min pin bump and scripts/install-openshell.sh behavior when a too-new sticky OpenShell is already on PATH.
  • openshell-gateway-upgrade-e2e (high): OpenShell pin and installer behavior changed; this validates upgrading an older working install to the current supported OpenShell while preserving gateway/sandbox state.
  • gateway-health-honest-e2e (low): Onboard/gateway runtime marker code is in the change set; this regression ensures onboarding does not report a dead Docker-driver gateway as healthy.
  • gateway-drift-preflight-e2e (low): The OpenShell version bump can change gateway RPC/state behavior; this verifies NemoClaw fails closed on stale or incompatible gateway state before trusting sandbox status.
  • onboard-inference-smoke-e2e (low): Onboard/config-generation changes can falsely report success before the route works; this regression verifies onboard requires a real configured provider/model completion.
  • openclaw-plugin-runtime-exdev-e2e (medium): OpenClaw version and plugin-runtime behavior changed, including plugin preinstall/load paths; this catches runtime dependency staging failures such as EXDEV cross-device renames.
  • kimi-inference-compat-e2e (medium): The Kimi compatibility plugin changed tool-call splitting and streaming delta rewriting; this E2E is the direct coverage for safe exec splitting through OpenClaw trajectories.
  • messaging-providers-e2e (high): WeChat plugin preinstall/seed changes, Slack proof helper changes, and messaging credential-provider paths require validation of token isolation, placeholder rewriting, and channel config inside a real sandbox.
  • messaging-compatible-endpoint-e2e (medium): Validates the Telegram plus OpenAI-compatible endpoint route through inference.local after config-generation and OpenClaw version changes.
  • channels-stop-start-e2e (high): WeChat/Slack/messaging config and credential handling changed; this validates stop/start/remove channel lifecycle across rebuilds for OpenClaw and Hermes messaging channels.
  • openclaw-inference-switch-e2e (high): Covers NemoClaw inference set/switch behavior, OpenShell route state, openclaw.json patching, hashes, and live requests after changes to provider config generation and OpenClaw runtime version.
  • model-router-provider-routed-inference-e2e (medium): Blueprint and config-generation changes can affect routed provider setup; this ensures model-router onboard produces a route that serves through inference.local.
  • bedrock-runtime-compatible-anthropic-e2e (medium): The provider/plugin disablement and config-generation changes can affect compatible Anthropic/Bedrock routing and hidden credential boundaries; the touched E2E validates that path hermetically.
  • network-policy-e2e (high): src/lib/policy and blueprint changes can affect policy application and network boundaries; this validates deny-by-default, presets, live policy changes, inference exemption, and SSRF validation.
  • sandbox-operations-e2e (high): Sandbox lifecycle and version/status behavior are in scope, and test-sandbox-operations.sh was touched; this validates real sandbox operations under the new OpenShell/OpenClaw pins.
  • hermes-e2e (high): Hermes base image, expected version, and config changed; this validates Hermes onboarding, health, gateway, and live inference for the multi-agent runtime.
  • launchable-smoke-e2e (medium): scripts/brev-launchable-ci-cpu.sh and launchable smoke test changed, including the OpenShell default version. This validates the community launchable/bootstrap path.

Optional E2E

  • cloud-inference-e2e (medium): Useful focused coverage for live inference.local and skill filesystem behavior, but cloud-e2e already exercises the primary live OpenClaw inference path.
  • brave-search-e2e (medium): Policy/config changes touch web-search-related code paths; this is useful confidence for Brave credential rewrite and policy preset behavior, but requires a real Brave key and is adjacent rather than central to the version bump.
  • hermes-inference-switch-e2e (high): Good additional coverage for Hermes route/config updates under the new Hermes version, but hermes-e2e is the merge-blocking smoke for the Hermes bump.
  • rebuild-openclaw-e2e (high): Useful for validating stale OpenClaw rebuild/upgrade behavior after the OpenClaw pin bump, but the core install/onboard and version-pin risks are already covered by required full, upgrade, and sandbox E2Es.
  • upgrade-stale-sandbox-e2e (high): Additional confidence that an existing stale sandbox upgrades from an older OpenClaw to the new pin, but not required if rebuild-openclaw or the main upgrade path is deferred for cost.
  • issue-2478-crash-loop-recovery-e2e (medium): Useful adjacent coverage because OpenClaw/gateway startup behavior changed, but it targets a specific crash-loop recovery regression rather than the primary changed paths.

New E2E recommendations

  • wechat-plugin-preinstall (high): Existing messaging-provider checks appear to allow WeChat seeded account assertions to skip when plugin/account state is missing. This PR makes WeChat plugin preinstall and seeding a first-class runtime contract, so CI should hard-fail when openclaw-weixin metadata, channel registration, and placeholder account files are absent after onboard.
    • Suggested test: Add a dedicated WeChat preinstalled-plugin E2E that onboards with fake WECHAT_* env, asserts openclaw-weixin is installed/enabled, channels.openclaw-weixin has the configured account enabled, and the per-account file contains only openshell:resolve:env placeholders.
  • openclaw-version-bump-patch-contract (medium): The Dockerfile patch logic depends on compiled OpenClaw dist symbol names and constants. The sandbox build catches missing grep patterns, but there is no focused E2E artifact that records which patches applied against the new OpenClaw version and proves the patched runtime still serves a minimal agent turn before plugin install.
    • Suggested test: Add an OpenClaw patch-contract E2E that builds the sandbox image, extracts patch markers for fetch-guard, symlink install paths, handshake timeout, and tool catalog wrapper, then runs a minimal in-sandbox OpenClaw doctor/agent smoke.
  • hermes-version-upgrade-contract (medium): Hermes expected_version and tarball pin changed, but existing Hermes E2E validates fresh onboard rather than upgrade/rebuild preservation across a Hermes version bump.
    • Suggested test: Add a Hermes stale-version rebuild E2E that creates or simulates a sandbox registered with an older Hermes version, runs rebuild, and asserts expected_version, persisted state files, and API health after upgrade.

Dispatch hint

  • Workflow: .github/workflows/nightly-e2e.yaml
  • jobs input: cloud-e2e,cloud-onboard-e2e,kimi-inference-compat-e2e,messaging-providers-e2e,messaging-compatible-endpoint-e2e,channels-stop-start-e2e,openclaw-inference-switch-e2e,bedrock-runtime-compatible-anthropic-e2e,network-policy-e2e,sandbox-operations-e2e,hermes-e2e,openshell-gateway-upgrade-e2e,launchable-smoke-e2e

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26127019955
Target ref: upgrade/all-deps-2026-05-19
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 8 passed, 35 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ❌ failure
brave-search-e2e ✅ success
channels-stop-start-e2e ❌ failure
cloud-e2e ❌ failure
cloud-inference-e2e ❌ failure
cloud-onboard-e2e ❌ failure
credential-migration-e2e ❌ failure
credential-sanitization-e2e ❌ failure
device-auth-health-e2e ❌ failure
diagnostics-e2e ❌ failure
docs-validation-e2e ❌ failure
double-onboard-e2e ❌ failure
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ❌ failure
issue-2478-crash-loop-recovery-e2e ❌ failure
kimi-inference-compat-e2e ❌ failure
launchable-smoke-e2e ❌ failure
messaging-compatible-endpoint-e2e ❌ failure
messaging-providers-e2e ❌ failure
network-policy-e2e ❌ failure
onboard-repair-e2e ❌ failure
onboard-resume-e2e ❌ failure
openclaw-inference-switch-e2e ❌ failure
openclaw-slack-pairing-e2e ❌ failure
openshell-gateway-upgrade-e2e ❌ failure
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ❌ failure
runtime-overrides-e2e ❌ failure
sandbox-operations-e2e ❌ failure
sandbox-survival-e2e ❌ failure
shields-config-e2e ❌ failure
skill-agent-e2e ❌ failure
snapshot-commands-e2e ❌ failure
state-backup-restore-e2e ❌ failure
telegram-injection-e2e ❌ failure
token-rotation-e2e ❌ failure
tunnel-lifecycle-e2e ❌ failure
upgrade-stale-sandbox-e2e ❌ failure

Failed jobs: bedrock-runtime-compatible-anthropic-e2e, channels-stop-start-e2e, cloud-e2e, cloud-inference-e2e, cloud-onboard-e2e, credential-migration-e2e, credential-sanitization-e2e, device-auth-health-e2e, diagnostics-e2e, docs-validation-e2e, double-onboard-e2e, inference-routing-e2e, issue-2478-crash-loop-recovery-e2e, kimi-inference-compat-e2e, launchable-smoke-e2e, messaging-compatible-endpoint-e2e, messaging-providers-e2e, network-policy-e2e, onboard-repair-e2e, onboard-resume-e2e, openclaw-inference-switch-e2e, openclaw-slack-pairing-e2e, openshell-gateway-upgrade-e2e, rebuild-openclaw-e2e, runtime-overrides-e2e, sandbox-operations-e2e, sandbox-survival-e2e, shields-config-e2e, skill-agent-e2e, snapshot-commands-e2e, state-backup-restore-e2e, telegram-injection-e2e, token-rotation-e2e, tunnel-lifecycle-e2e, upgrade-stale-sandbox-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26127114600
Target ref: 68b19c87d2f1b90414b3ff731759f3a3a4659126
Workflow ref: main
Requested jobs: openshell-gateway-upgrade-e2e,cloud-onboard-e2e,rebuild-openclaw-e2e,hermes-e2e,launchable-smoke-e2e
Summary: 2 passed, 3 failed, 0 skipped

Job Result
cloud-onboard-e2e ✅ success
hermes-e2e ✅ success
launchable-smoke-e2e ❌ failure
openshell-gateway-upgrade-e2e ❌ failure
rebuild-openclaw-e2e ❌ failure

Failed jobs: launchable-smoke-e2e, openshell-gateway-upgrade-e2e, rebuild-openclaw-e2e. Check run artifacts for logs.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Dockerfile (1)

205-223: ⚠️ Potential issue | 🔴 Critical

E2E test failures must be resolved before merge.

The recommended E2E workflows have been triggered on upgrade/all-deps-2026-05-19. However, the previous run (started 2026-05-19T21:41:03Z) completed with critical failures in the exact tests specified for Dockerfile validation:

  • sandbox-survival-e2e: FAILED (validates gateway restart recovery with persistent connections)
  • rebuild-openclaw-e2e: FAILED (validates workspace state survives rebuild)
  • cloud-e2e: FAILED (validates full onboard + cloud inference)
  • hermes-e2e: Passed

A newer run started at 2026-05-19T22:01:45Z is currently in progress with all recommended jobs queued. Given that the WebSocket timeout patch directly affects OpenClaw's handshake behavior under load, and sandbox-survival-e2e tests gateway restart recovery (triggering reconnections), these failures are critical to resolve. Wait for the in-progress run to complete and confirm all recommended tests pass before merging.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Dockerfile` around lines 205 - 223, The Dockerfile patch changes
DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS (and thus affects
OPENCLAW_HANDSHAKE_TIMEOUT_MS / OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS) and has
triggered critical E2E failures; do not merge until the in-progress CI run for
upgrade/all-deps-2026-05-19 completes and all recommended workflows (especially
sandbox-survival-e2e, rebuild-openclaw-e2e, cloud-e2e) pass; if they fail again,
revert or adjust the change around DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS (the
hto_files sed/grep patch in the Patch 5 block) and iterate until the full E2E
matrix is green.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@Dockerfile`:
- Around line 205-223: The Dockerfile patch changes
DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS (and thus affects
OPENCLAW_HANDSHAKE_TIMEOUT_MS / OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS) and has
triggered critical E2E failures; do not merge until the in-progress CI run for
upgrade/all-deps-2026-05-19 completes and all recommended workflows (especially
sandbox-survival-e2e, rebuild-openclaw-e2e, cloud-e2e) pass; if they fail again,
revert or adjust the change around DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS (the
hto_files sed/grep patch in the Patch 5 block) and iterate until the full E2E
matrix is green.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 0fd110ed-60e5-46b8-a551-f60c4b2dfefb

📥 Commits

Reviewing files that changed from the base of the PR and between 68b19c8 and 68b852f.

📒 Files selected for processing (2)
  • Dockerfile
  • test/fetch-guard-patch-regression.test.ts

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26128083363
Target ref: 68b852f98210251945355b46d0ecda8a353030c8
Workflow ref: main
Requested jobs: openshell-gateway-upgrade-e2e,cloud-onboard-e2e,cloud-inference-e2e,messaging-providers-e2e,network-policy-e2e,hermes-e2e,rebuild-openclaw-e2e,upgrade-stale-sandbox-e2e,rebuild-hermes-e2e,launchable-smoke-e2e
Summary: 7 passed, 3 failed, 0 skipped

Job Result
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
hermes-e2e ✅ success
launchable-smoke-e2e ❌ failure
messaging-providers-e2e ❌ failure
network-policy-e2e ✅ success
openshell-gateway-upgrade-e2e ❌ failure
rebuild-hermes-e2e ✅ success
rebuild-openclaw-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

Failed jobs: launchable-smoke-e2e, messaging-providers-e2e, openshell-gateway-upgrade-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26127986697
Target ref: upgrade/all-deps-2026-05-19
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 33 passed, 10 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ❌ failure
brave-search-e2e ✅ success
channels-stop-start-e2e ❌ failure
cloud-e2e ❌ failure
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
double-onboard-e2e ✅ success
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ❌ failure
kimi-inference-compat-e2e ❌ failure
launchable-smoke-e2e ❌ failure
messaging-compatible-endpoint-e2e ❌ failure
messaging-providers-e2e ❌ failure
network-policy-e2e ✅ success
onboard-repair-e2e ✅ success
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ❌ failure
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ✅ success
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ✅ success
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ❌ failure
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ✅ success
telegram-injection-e2e ✅ success
token-rotation-e2e ✅ success
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

Failed jobs: bedrock-runtime-compatible-anthropic-e2e, channels-stop-start-e2e, cloud-e2e, issue-2478-crash-loop-recovery-e2e, kimi-inference-compat-e2e, launchable-smoke-e2e, messaging-compatible-endpoint-e2e, messaging-providers-e2e, openclaw-inference-switch-e2e, sandbox-operations-e2e. Check run artifacts for logs.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (1)
scripts/seed-wechat-accounts.py (1)

145-155: ⚡ Quick win

Make metadata discovery order deterministic.

os.walk() does not guarantee directory or file order, and _dedupe() preserves first-seen order. That means the patched channel-id order in openclaw.json and the "registered ..." log can vary across environments once multiple metadata files are present.

Suggested fix
     matches: list[pathlib.Path] = []
     for root, dirs, files in os.walk(extensions_dir):
-        dirs[:] = [
+        dirs[:] = sorted(
+            [
             item
             for item in dirs
             if item not in {"node_modules", "plugin-runtime-deps", ".git"}
-        ]
+            ]
+        )
         root_path = pathlib.Path(root)
-        for filename in files:
+        for filename in sorted(files):
             if filename in {"openclaw.plugin.json", "package.json"}:
                 matches.append(root_path / filename)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/seed-wechat-accounts.py` around lines 145 - 155, os.walk traversal is
non-deterministic so the discovered metadata order (matches list) can vary; make
discovery deterministic by sorting directory names and file names during the
os.walk loop and then sort (or otherwise order) the resulting matches before
returning. Specifically, inside the loop that iterates over
os.walk(extensions_dir) where variables extensions_dir, dirs, files, root_path,
filename, and matches are used, replace the implicit iteration with sorted(dirs)
and sorted(files) (or sort dirs in-place with dirs.sort()) so exploration order
is stable, and finally apply a deterministic ordering to matches (e.g., sort
matches by path.name or full path) before return so downstream consumers and
logs are stable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@nemoclaw-blueprint/openclaw-plugins/kimi-inference-compat/index.js`:
- Around line 286-300: The bug is reusing the original deltaSplit.contentIndex
after applySafeExecSplitToMessage may have expanded/shifted combined exec
blocks; instead of trusting deltaSplit.contentIndex, compute the targetIndex by
locating the actual target command in the (possibly-rewritten)
deltaSplit.commands (e.g., use deltaSplit.commands.findIndex with a
deep-equality match to the intended command) and fall back to the clamped
contentIndex only if the find fails; then use that computed targetIndex when
selecting targetCommand, calling encodeToolCallArgumentsLike(event.delta,
targetCommand) and when assigning event.toolCall via
buildSplitToolCalls(deltaSplit.toolCall, deltaSplit.commands)[targetIndex];
ensure this change touches the block that calls
applySafeExecSplitToMessage(event.partial|event.message), uses deltaSplit,
targetIndex, targetCommand, encodeToolCallArgumentsLike, and
buildSplitToolCalls.

In `@test/e2e/test-issue-2478-crash-loop-recovery.sh`:
- Around line 275-277: The current health check uses status_output and greps for
'healthy|ready|running', which matches substrings like "not running"; update the
condition in the if that reads status_output="$(timeout 20 nemoclaw
"$SANDBOX_NAME" status 2>&1)" || true to use word-bounded matching (e.g., grep
-Eiq '\b(healthy|ready|running)\b') or use grep -wi with the exact words (grep
-Eiq 'healthy|ready|running' → grep -Eiq '\b(healthy|ready|running)\b' or grep
-wi -E 'healthy|ready|running') so only standalone statuses are accepted.
- Line 111: The current ps|awk pipeline can pick the first "openclaw" process (a
launcher) instead of the gateway; change the pipeline so it deterministically
selects the gateway PID by first filtering processes whose command/args contain
"gateway" and choosing the lowest PID, with an explicit fallback to a plain
"openclaw" process only if no gateway is found. Update the existing pipeline
(the ps -eo ... | awk '\$2 == "openclaw" || \$0 ~ /openclaw[ -]gateway/ { print
\$1; exit }' | tr -d '[:space:]' line) to: 1) prefer matches of /gateway/ (e.g.
awk '\$0 ~ /[ -]gateway/ { print \$1 }' piped to sort -n | head -n1), and 2)
only if that yields nothing, run the plain "openclaw" selection; ensure the
final result is deterministic (sorted by PID) and still trimmed with tr -d
'[:space:]'.

In `@test/policies.test.ts`:
- Line 407: The test is incorrectly checking array membership for a literal
backtick (expect(hosts).not.toContain("`")) instead of validating each host
string for embedded backticks; update the assertion to iterate or otherwise
inspect each host string returned by hosts (e.g., in the test that defines/uses
the hosts variable and the related test block) and assert that no individual
host contains a backtick (for example, use hosts.forEach or a join+regex check)
so the test fails if any host string includes the ` character.

---

Nitpick comments:
In `@scripts/seed-wechat-accounts.py`:
- Around line 145-155: os.walk traversal is non-deterministic so the discovered
metadata order (matches list) can vary; make discovery deterministic by sorting
directory names and file names during the os.walk loop and then sort (or
otherwise order) the resulting matches before returning. Specifically, inside
the loop that iterates over os.walk(extensions_dir) where variables
extensions_dir, dirs, files, root_path, filename, and matches are used, replace
the implicit iteration with sorted(dirs) and sorted(files) (or sort dirs
in-place with dirs.sort()) so exploration order is stable, and finally apply a
deterministic ordering to matches (e.g., sort matches by path.name or full path)
before return so downstream consumers and logs are stable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a4ae8b62-f2a0-4a9b-96c6-93325c74d834

📥 Commits

Reviewing files that changed from the base of the PR and between 68b852f and 23f5dec.

📒 Files selected for processing (19)
  • nemoclaw-blueprint/openclaw-plugins/kimi-inference-compat/index.js
  • scripts/generate-openclaw-config.py
  • scripts/seed-wechat-accounts.py
  • src/lib/policy/index.ts
  • test/e2e/lib/openclaw-agent-json.py
  • test/e2e/lib/slack-api-proof.sh
  • test/e2e/test-bedrock-runtime-compatible-anthropic.sh
  • test/e2e/test-brave-search-e2e.sh
  • test/e2e/test-full-e2e.sh
  • test/e2e/test-issue-2478-crash-loop-recovery.sh
  • test/e2e/test-launchable-smoke.sh
  • test/e2e/test-messaging-compatible-endpoint.sh
  • test/e2e/test-openclaw-inference-switch.sh
  • test/e2e/test-sandbox-operations.sh
  • test/generate-openclaw-config.test.ts
  • test/kimi-inference-compat-plugin.test.ts
  • test/openclaw-agent-json.test.ts
  • test/policies.test.ts
  • test/seed-wechat-accounts.test.ts
✅ Files skipped from review due to trivial changes (1)
  • test/openclaw-agent-json.test.ts

Comment thread nemoclaw-blueprint/openclaw-plugins/kimi-inference-compat/index.js Outdated
Comment thread test/e2e/test-issue-2478-crash-loop-recovery.sh Outdated
Comment thread test/e2e/test-issue-2478-crash-loop-recovery.sh
Comment thread test/policies.test.ts Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26131407000
Target ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 27 passed, 1 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ⚠️ cancelled
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ⚠️ cancelled
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ⚠️ cancelled
docs-validation-e2e ✅ success
double-onboard-e2e ⚠️ cancelled
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ⚠️ cancelled
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ⚠️ cancelled
network-policy-e2e ⚠️ cancelled
onboard-repair-e2e ⚠️ cancelled
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ❌ failure
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ⚠️ cancelled
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ⚠️ cancelled
runtime-overrides-e2e ⚠️ cancelled
sandbox-operations-e2e ⚠️ cancelled
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ⚠️ cancelled
telegram-injection-e2e ✅ success
token-rotation-e2e ⚠️ cancelled
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ⚠️ cancelled

Failed jobs: openclaw-inference-switch-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26131484758
Target ref: 23f5decae9fe1f0adb48e5bfd72ae479794e63ec
Workflow ref: main
Requested jobs: cloud-onboard-e2e,cloud-e2e,sandbox-operations-e2e,openshell-gateway-upgrade-e2e,issue-2478-crash-loop-recovery-e2e,kimi-inference-compat-e2e,openclaw-inference-switch-e2e,inference-routing-e2e,messaging-compatible-endpoint-e2e,channels-stop-start-e2e,network-policy-e2e,hermes-e2e,hermes-inference-switch-e2e,launchable-smoke-e2e,rebuild-openclaw-e2e,upgrade-stale-sandbox-e2e
Summary: 9 passed, 0 failed, 0 skipped

Job Result
channels-stop-start-e2e ⚠️ cancelled
cloud-e2e ✅ success
cloud-onboard-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ⚠️ cancelled
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
network-policy-e2e ⚠️ cancelled
openclaw-inference-switch-e2e ✅ success
openshell-gateway-upgrade-e2e ⚠️ cancelled
rebuild-openclaw-e2e ⚠️ cancelled
sandbox-operations-e2e ⚠️ cancelled
upgrade-stale-sandbox-e2e ⚠️ cancelled

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/e2e/test-sandbox-operations.sh`:
- Around line 356-360: Update the TC-SBX-02 rationale comment block so it no
longer implies stderr is dropped: change the numbered points to state that
merged stdout/stderr is preserved for failure diagnostics and that assertions
target the JSON envelope payload text (not the merged stream), and keep the note
about relying on generated `thinkingDefault: off` for first-turn timing;
reference the existing rationale block around "Asserts on payload text..." and
the mention of "thinkingDefault: off" so the comment matches the new SSH capture
path that preserves merged output.
- Around line 380-381: The test currently swallows the SSH command exit status
with "|| true" which can yield false positives; modify the block that runs the
openclaw agent command (the line invoking "openclaw agent --agent main --json
--session-id '${session_id}' -m ...") to capture its exit code into a variable
(e.g., rc=$?), then assert success by requiring rc == 0 in the overall success
condition in addition to checking the output contains "42"; remove the "|| true"
suppression and make the success gate require both rc == 0 and the parsed output
match to prevent non-zero SSH exits from being treated as passes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f3881ea7-6db1-46ad-b92f-14722324448b

📥 Commits

Reviewing files that changed from the base of the PR and between 23f5dec and 6cb5c32.

📒 Files selected for processing (2)
  • test/e2e/test-openclaw-inference-switch.sh
  • test/e2e/test-sandbox-operations.sh

Comment thread test/e2e/test-sandbox-operations.sh
Comment thread test/e2e/test-sandbox-operations.sh Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26131699232
Target ref: upgrade/all-deps-2026-05-19
Requested jobs: openclaw-inference-switch-e2e,sandbox-operations-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
openclaw-inference-switch-e2e ✅ success
sandbox-operations-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26131773800
Target ref: 6cb5c324de2954d847b9e40afbda347d68f0acb6
Workflow ref: main
Requested jobs: cloud-e2e,cloud-onboard-e2e,openshell-gateway-upgrade-e2e,kimi-inference-compat-e2e,messaging-compatible-endpoint-e2e,network-policy-e2e,sandbox-operations-e2e,openclaw-inference-switch-e2e,hermes-e2e,launchable-smoke-e2e
Summary: 9 passed, 1 failed, 0 skipped

Job Result
cloud-e2e ✅ success
cloud-onboard-e2e ✅ success
hermes-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
network-policy-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openshell-gateway-upgrade-e2e ❌ failure
sandbox-operations-e2e ✅ success

Failed jobs: openshell-gateway-upgrade-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26132116276
Target ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 30 passed, 1 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ⚠️ cancelled
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ⚠️ cancelled
docs-validation-e2e ✅ success
double-onboard-e2e ⚠️ cancelled
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ❌ failure
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ⚠️ cancelled
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ⚠️ cancelled
network-policy-e2e ✅ success
onboard-repair-e2e ⚠️ cancelled
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ⚠️ cancelled
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ⚠️ cancelled
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ⚠️ cancelled
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ⚠️ cancelled
telegram-injection-e2e ✅ success
token-rotation-e2e ⚠️ cancelled
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ⚠️ cancelled

Failed jobs: hermes-inference-switch-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26132424944
Target ref: upgrade/all-deps-2026-05-19
Requested jobs: hermes-inference-switch-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
hermes-inference-switch-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26132979480
Target ref: 6cb5c324de2954d847b9e40afbda347d68f0acb6
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: rebuild-hermes-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
rebuild-hermes-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26132662112
Target ref: 6cb5c324de2954d847b9e40afbda347d68f0acb6
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 41 passed, 2 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ❌ failure
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
double-onboard-e2e ✅ success
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
onboard-repair-e2e ✅ success
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ✅ success
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ❌ failure
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ✅ success
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ✅ success
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ✅ success
telegram-injection-e2e ✅ success
token-rotation-e2e ✅ success
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

Failed jobs: channels-stop-start-e2e, rebuild-hermes-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26134337857
Target ref: b4d043b39
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: channels-stop-start-e2e,rebuild-hermes-e2e
Summary: 0 passed, 2 failed, 0 skipped

Job Result
channels-stop-start-e2e ❌ failure
rebuild-hermes-e2e ❌ failure

Failed jobs: channels-stop-start-e2e, rebuild-hermes-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26134434964
Target ref: b4d043b393832408208c9c3268765b21da56bfc3
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: channels-stop-start-e2e,rebuild-hermes-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
channels-stop-start-e2e ✅ success
rebuild-hermes-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26135563540
Target ref: b4d043b393832408208c9c3268765b21da56bfc3
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 43 passed, 0 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ✅ success
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
double-onboard-e2e ✅ success
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
onboard-repair-e2e ✅ success
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ✅ success
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ✅ success
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ✅ success
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ✅ success
telegram-injection-e2e ✅ success
token-rotation-e2e ✅ success
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

@ericksoa ericksoa self-assigned this May 20, 2026
Comment thread test/e2e/test-issue-2478-crash-loop-recovery.sh Fixed
Comment thread test/e2e/test-issue-2478-crash-loop-recovery.sh Fixed
Comment thread test/e2e/test-issue-2478-crash-loop-recovery.sh Fixed
Comment thread test/e2e/test-issue-2478-crash-loop-recovery.sh Fixed
Comment thread test/e2e/test-issue-2478-crash-loop-recovery.sh Fixed

if (deltaSplit) {
if (!partialChanged) changed = applySafeExecSplitAtContentIndex(event.partial, deltaSplit) || changed;
if (!messageChanged) changed = applySafeExecSplitAtContentIndex(event.message, deltaSplit) || changed;
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26138952562
Target ref: 2740a01224181afc40619c1995db94655c3a9397
Workflow ref: main
Requested jobs: cloud-e2e,openshell-gateway-upgrade-e2e,sandbox-operations-e2e,network-policy-e2e,kimi-inference-compat-e2e,messaging-providers-e2e,hermes-e2e,rebuild-openclaw-e2e,upgrade-stale-sandbox-e2e,launchable-smoke-e2e
Summary: 9 passed, 0 failed, 0 skipped

Job Result
cloud-e2e ✅ success
hermes-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
openshell-gateway-upgrade-e2e ⚠️ cancelled
rebuild-openclaw-e2e ✅ success
sandbox-operations-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26139099322
Target ref: 2740a01224181afc40619c1995db94655c3a9397
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 41 passed, 1 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ⚠️ cancelled
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
double-onboard-e2e ✅ success
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ❌ failure
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
onboard-negative-paths-e2e ✅ success
onboard-repair-e2e ✅ success
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ✅ success
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ✅ success
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ✅ success
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ✅ success
telegram-injection-e2e ✅ success
token-rotation-e2e ⚠️ cancelled
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

Failed jobs: launchable-smoke-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26139491162
Target ref: 3236e08c1d7a91397b2f98cea5b918dec7625fb6
Workflow ref: main
Requested jobs: cloud-e2e,cloud-onboard-e2e,openshell-gateway-upgrade-e2e,launchable-smoke-e2e,sandbox-operations-e2e,issue-2478-crash-loop-recovery-e2e,kimi-inference-compat-e2e,messaging-compatible-endpoint-e2e,messaging-providers-e2e,credential-sanitization-e2e,network-policy-e2e,brave-search-e2e,openclaw-inference-switch-e2e,inference-routing-e2e,rebuild-openclaw-e2e,upgrade-stale-sandbox-e2e,hermes-e2e,hermes-inference-switch-e2e
Summary: 15 passed, 3 failed, 0 skipped

Job Result
brave-search-e2e ✅ success
cloud-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-sanitization-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ❌ failure
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
openclaw-inference-switch-e2e ❌ failure
openshell-gateway-upgrade-e2e ❌ failure
rebuild-openclaw-e2e ✅ success
sandbox-operations-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

Failed jobs: hermes-inference-switch-e2e, openclaw-inference-switch-e2e, openshell-gateway-upgrade-e2e. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26139623838
Target ref: 3236e08c1d7a91397b2f98cea5b918dec7625fb6
Workflow ref: upgrade/all-deps-2026-05-19
Requested jobs: all (no filter)
Summary: 44 passed, 0 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ✅ success
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
double-onboard-e2e ✅ success
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
onboard-negative-paths-e2e ✅ success
onboard-repair-e2e ✅ success
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ✅ success
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ✅ success
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ✅ success
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ✅ success
telegram-injection-e2e ✅ success
token-rotation-e2e ✅ success
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

@ericksoa

ericksoa commented May 20, 2026

Copy link
Copy Markdown
Contributor Author

Expanded Issue Sweep: Likely Resolved / Retest Candidates From This Upgrade

I did a second pass across all 296 open NemoClaw issues, this time starting from the capability deltas in the upgraded runtimes rather than only searching package names. The relevant new surface area is larger than the pins themselves:

High-confidence likely fixed by this PR / close after a quick confirming retest

Strong retest candidates, but I would not close without targeted repro evidence

Explicit non-claims from this sweep

I did not mark broader Slack issues (#1569, #2024, #2031, #3014, #3708, #3753) as resolved from the dependency upgrade alone. The PR has stronger Slack proof coverage and green messaging jobs, but those issues need live Slack token/socket/event-path repros before closure.

I also did not claim #3779, #3707, #3645, or #3850: #3779 points to a separate GLM compat PR, #3707 is primarily hardware/model throughput under a heavy local Qwen agent shape, #3645 already reports Hermes 2026.5.16, and #3850 is a NemoClaw onboarding feature request rather than something the runtime upgrade itself provides.

Validation reference: full nightly https://github.com/NVIDIA/NemoClaw/actions/runs/26139623838 passed on PR head 3236e08c1d7a91397b2f98cea5b918dec7625fb6.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/e2e-test.sh`:
- Around line 258-261: The test is asserting a non-existent field
restored.wizard.lastRunVersion; either make the snapshot restoration produce
that field in the OpenClaw config (ensure scripts/generate-openclaw-config.py
populates wizard.lastRunVersion before snapshot) or, more simply, change the
assertion to check an actual generated field such as (restored.meta ||
{}).lastTouchedVersion === '2026.3.11' (or another stable field created by the
generator) so the test validates a real restored value instead of undefined.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f0ad02e7-367f-4ae8-b4d9-44c038c22c59

📥 Commits

Reviewing files that changed from the base of the PR and between 6cb5c32 and 3236e08.

📒 Files selected for processing (20)
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • Dockerfile
  • docs/reference/commands.mdx
  • nemoclaw-blueprint/openclaw-plugins/kimi-inference-compat/index.js
  • scripts/generate-openclaw-config.py
  • scripts/patch-openclaw-tool-catalog.js
  • scripts/seed-wechat-accounts.py
  • src/lib/onboard.ts
  • test/e2e-test.sh
  • test/e2e/docs/parity-map.yaml
  • test/e2e/lib/openclaw-agent-json.py
  • test/e2e/test-issue-2478-crash-loop-recovery.sh
  • test/e2e/test-sandbox-operations.sh
  • test/fetch-guard-patch-regression.test.ts
  • test/generate-openclaw-config.test.ts
  • test/kimi-inference-compat-plugin.test.ts
  • test/openclaw-agent-json.test.ts
  • test/openclaw-tool-catalog-patch.test.ts
  • test/policies.test.ts
  • test/seed-wechat-accounts.test.ts
💤 Files with no reviewable changes (3)
  • test/seed-wechat-accounts.test.ts
  • test/openclaw-tool-catalog-patch.test.ts
  • test/policies.test.ts
✅ Files skipped from review due to trivial changes (1)
  • docs/reference/commands.mdx

Comment thread test/e2e-test.sh Outdated
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26142871395
Target ref: d4df1e4443ff24202673c32c9d3646bc957294e7
Workflow ref: main
Requested jobs: cloud-e2e,openshell-gateway-upgrade-e2e,kimi-inference-compat-e2e,openclaw-inference-switch-e2e,messaging-compatible-endpoint-e2e,channels-stop-start-e2e,hermes-e2e,network-policy-e2e,sandbox-operations-e2e,rebuild-openclaw-e2e,launchable-smoke-e2e
Summary: 0 passed, 0 failed, 0 skipped

Job Result
channels-stop-start-e2e ⚠️ cancelled
cloud-e2e ⚠️ cancelled
hermes-e2e ⚠️ cancelled
kimi-inference-compat-e2e ⚠️ cancelled
launchable-smoke-e2e ⚠️ cancelled
messaging-compatible-endpoint-e2e ⚠️ cancelled
network-policy-e2e ⚠️ cancelled
openclaw-inference-switch-e2e ⚠️ cancelled
openshell-gateway-upgrade-e2e ⚠️ cancelled
rebuild-openclaw-e2e ⚠️ cancelled
sandbox-operations-e2e ⚠️ cancelled

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26143011902
Target ref: d4df1e4443ff24202673c32c9d3646bc957294e7
Workflow ref: main
Requested jobs: all (no filter)
Summary: 42 passed, 1 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ⚠️ cancelled
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
double-onboard-e2e ✅ success
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
onboard-negative-paths-e2e ✅ success
onboard-repair-e2e ✅ success
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ❌ failure
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ✅ success
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ✅ success
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ✅ success
telegram-injection-e2e ✅ success
token-rotation-e2e ✅ success
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

Failed jobs: openshell-gateway-upgrade-e2e. Check run artifacts for logs.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
test/e2e/test-openshell-gateway-upgrade.sh (1)

148-148: ⚡ Quick win

Consider using the CURRENT_OPENSHELL_VERSION variable in mock version strings.

The hardcoded version strings in the fake openshell binaries could become inconsistent if the default CURRENT_OPENSHELL_VERSION is updated but these mocks are not. Using the variable would ensure they stay synchronized and prevent misleading test output.

♻️ Suggested refactor to use variable expansion

For the first mock (around line 143):

-  cat >"$fake_bin/openshell" <<'EOF'
+  cat >"$fake_bin/openshell" <<EOF
 #!/usr/bin/env bash
 # request-body-credential-rewrite
 # websocket-credential-rewrite
-if [ "${1:-}" = "--version" ]; then
-  printf 'openshell 0.0.44\n'
+if [ "\${1:-}" = "--version" ]; then
+  printf 'openshell ${CURRENT_OPENSHELL_VERSION}\n'
   exit 0
 fi
 exit 99

Apply the same pattern to the second mock (around line 233):

-  cat >"$fake_bin/openshell" <<'EOF'
+  cat >"$fake_bin/openshell" <<EOF
 #!/usr/bin/env bash
 # request-body-credential-rewrite
 # websocket-credential-rewrite
-if [ "${1:-}" = "--version" ]; then
-  printf 'openshell 0.0.44\n'
+if [ "\${1:-}" = "--version" ]; then
+  printf 'openshell ${CURRENT_OPENSHELL_VERSION}\n'
   exit 0
 fi
 exit 99

Note: Change heredoc delimiter from <<'EOF' to <<EOF to enable variable expansion, and escape literal $ in the generated script with \$.

Also applies to: 238-238

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/e2e/test-openshell-gateway-upgrade.sh` at line 148, Replace hardcoded
mock version strings with the CURRENT_OPENSHELL_VERSION variable: update the
printf call(s) that currently print 'openshell 0.0.44' to use printf "openshell
$CURRENT_OPENSHELL_VERSION\n" (or equivalent double-quoted expansion) and change
any surrounding heredoc delimiters from <<'EOF' to <<EOF so variable expansion
occurs; where the mock generates scripts that must contain literal dollar signs,
escape them as \$ to avoid unintended expansion. Target the mock generator
blocks that produce the fake openshell binaries and the printf lines (search for
printf 'openshell 0.0.44' and the heredoc blocks around them) and make these
substitutions to keep mocks in sync with CURRENT_OPENSHELL_VERSION.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@test/e2e/test-openshell-gateway-upgrade.sh`:
- Line 148: Replace hardcoded mock version strings with the
CURRENT_OPENSHELL_VERSION variable: update the printf call(s) that currently
print 'openshell 0.0.44' to use printf "openshell $CURRENT_OPENSHELL_VERSION\n"
(or equivalent double-quoted expansion) and change any surrounding heredoc
delimiters from <<'EOF' to <<EOF so variable expansion occurs; where the mock
generates scripts that must contain literal dollar signs, escape them as \$ to
avoid unintended expansion. Target the mock generator blocks that produce the
fake openshell binaries and the printf lines (search for printf 'openshell
0.0.44' and the heredoc blocks around them) and make these substitutions to keep
mocks in sync with CURRENT_OPENSHELL_VERSION.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4999ea9e-c2a9-4d7d-ad5e-d33341c4e5b3

📥 Commits

Reviewing files that changed from the base of the PR and between d4df1e4 and cd41b2b.

📒 Files selected for processing (1)
  • test/e2e/test-openshell-gateway-upgrade.sh

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26143909397
Target ref: cd41b2b4f5ebf6758a62f4c3036c6817f244db11
Workflow ref: main
Requested jobs: cloud-e2e,cloud-onboard-e2e,openshell-gateway-upgrade-e2e,kimi-inference-compat-e2e,messaging-providers-e2e,messaging-compatible-endpoint-e2e,channels-stop-start-e2e,openclaw-inference-switch-e2e,bedrock-runtime-compatible-anthropic-e2e,network-policy-e2e,sandbox-operations-e2e,hermes-e2e,launchable-smoke-e2e
Summary: 0 passed, 0 failed, 0 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ⚠️ cancelled
channels-stop-start-e2e ⚠️ cancelled
cloud-e2e ⚠️ cancelled
cloud-onboard-e2e ⚠️ cancelled
hermes-e2e ⚠️ cancelled
kimi-inference-compat-e2e ⚠️ cancelled
launchable-smoke-e2e ⚠️ cancelled
messaging-compatible-endpoint-e2e ⚠️ cancelled
messaging-providers-e2e ⚠️ cancelled
network-policy-e2e ⚠️ cancelled
openclaw-inference-switch-e2e ⚠️ cancelled
openshell-gateway-upgrade-e2e ⚠️ cancelled
sandbox-operations-e2e ⚠️ cancelled

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26144040521
Target ref: cd41b2b4f5ebf6758a62f4c3036c6817f244db11
Workflow ref: main
Requested jobs: all (no filter)
Summary: 44 passed, 0 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-stop-start-e2e ✅ success
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ✅ success
credential-migration-e2e ✅ success
credential-sanitization-e2e ✅ success
device-auth-health-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
double-onboard-e2e ✅ success
gpu-double-onboard-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
onboard-negative-paths-e2e ✅ success
onboard-repair-e2e ✅ success
onboard-resume-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openshell-gateway-upgrade-e2e ✅ success
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ✅ success
rebuild-hermes-stale-base-e2e ✅ success
rebuild-openclaw-e2e ✅ success
runtime-overrides-e2e ✅ success
sandbox-operations-e2e ✅ success
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
state-backup-restore-e2e ✅ success
telegram-injection-e2e ✅ success
token-rotation-e2e ✅ success
tunnel-lifecycle-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

@jyaunches jyaunches merged commit b7deb55 into main May 20, 2026
30 checks passed
@jyaunches jyaunches deleted the upgrade/all-deps-2026-05-19 branch May 20, 2026 20:17
ericksoa added a commit that referenced this pull request May 20, 2026
## Summary
- Reverts the squash commit from PR #3832 exactly:
b7deb55
- Restores dependency/runtime versions and OpenClaw remediation files to
the pre-#3832 state while preserving the later main commit
fix(snapshot): use gateway metadata for VM-driver health checks (#3784)

## Verification
- git revert --signoff --no-edit
b7deb55 applied cleanly from current
origin/main
- git diff --check HEAD^ HEAD

Note: This PR intentionally undoes the merged dependency upgrade. It has
not been merged.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Chores**
* Updated OpenClaw to version 2026.4.24, OpenShell to 0.0.39, and Hermes
to 2026.4.23.
  * Updated WeChat plugin dependency from 2.4.3 to 2.4.2.
* Streamlined WeChat account configuration logic and refined tool-call
handling in Kimi inference compatibility.
  * Updated internal test suites and validation scripts.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/NVIDIA/NemoClaw/pull/3924?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure area: sandbox OpenShell sandbox lifecycle, runtime, config, or recovery chore Build, CI, dependency, or tooling maintenance and removed CI/CD labels Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure area: sandbox OpenShell sandbox lifecycle, runtime, config, or recovery chore Build, CI, dependency, or tooling maintenance dependencies Pull requests that update a dependency file integration: hermes Hermes integration behavior integration: openclaw OpenClaw integration behavior v0.0.48 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants