Skip to content

fix(inference): narrow Hermes Provider host smoke skip - #4474

Merged
ericksoa merged 8 commits into
mainfrom
fix/hermes-provider-smoke-replay-topper
May 29, 2026
Merged

fix(inference): narrow Hermes Provider host smoke skip#4474
ericksoa merged 8 commits into
mainfrom
fix/hermes-provider-smoke-replay-topper

Conversation

@ericksoa

@ericksoa ericksoa commented May 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Replay the Hermes Provider host-smoke fix from #4385 on a maintainer branch, then narrow it so only OAuth-backed Hermes Provider onboarding skips the host-side OpenAI-compatible smoke probe. Nous API key onboarding still has a host credential, so it keeps direct validation for bad keys, base URLs, or models.

Original Contribution

Changes

  • Skip the host-side smoke probe for hermes-provider only when the onboarding credential env is OPENAI_API_KEY, which is the OAuth agent-key storage path.
  • Keep host-side smoke validation for hermes-provider with NOUS_API_KEY.
  • Add regression coverage for both Hermes OAuth and Nous API key behavior.

Verification

  • npm run build:cli passes
  • npm run typecheck:cli passes
  • npx vitest run src/lib/inference/onboard-probes.test.ts passes
  • npx @biomejs/biome check src/lib/inference/onboard-probes.ts src/lib/inference/onboard-probes.test.ts passes
  • git diff --check passes

Signed-off-by: Aaron Erickson aerickson@nvidia.com

Summary by CodeRabbit

  • Bug Fixes

    • Onboarding verification now skips the Hermes OAuth smoke check when a Hermes-specific credential environment is present, preventing false setup failures.
  • Tests

    • Added tests covering onboarding decisions across different credential environments.
    • Added a runtime harness to simulate verifier flows and capture probe invocations for end-to-end verification.

Review Change Stack

ericksoa and others added 2 commits May 28, 2026 17:53
Replay the Hermes Provider onboarding fix from #4385 so OAuth-backed agent-key storage does not get blocked by an unrelated ambient host OPENAI_API_KEY.

Co-authored-by: shannonsands <7897813+shannonsands@users.noreply.github.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Limit the Hermes Provider host-smoke skip to OAuth-backed OPENAI_API_KEY storage. Nous API key onboarding still has a host credential, so keep direct validation for bad keys, base URLs, or models.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@ericksoa ericksoa added v0.0.54 integration: hermes Hermes integration behavior labels May 29, 2026
@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds credentialEnv awareness to OpenAI-like onboarding smoke probes and short-circuits Hermes+OPENAI_API_KEY; introduces a spawn-based harness and tests that assert the verifier skips the Hermes OAuth smoke path while exercising other probes.

Changes

Hermes credential-aware smoke route verification

Layer / File(s) Summary
Hermes credential exception and integration
src/lib/inference/onboard-probes.ts
shouldSmokeOpenAiLikeOnboardRoute(provider, credentialEnv = null) now accepts an optional credentialEnv and returns false for the hermes-provider + HERMES_INFERENCE_CREDENTIAL_ENV combination. verifyOnboardInferenceSmoke forwards options.credentialEnv to this function to control the early-return path.
Tests and runtime harness for verifier behavior
test/helpers/onboard-smoke-verifier-harness.ts, src/lib/inference/onboard-probes.test.ts, test/onboard-smoke-verifier.test.ts
Adds runVerifyOnboardSmokeHarness which spawns an instrumented Node process to run verifyOnboardInferenceSmoke, stubbing Module._load and capturing calls; test imports reorder Node built-ins before vitest. New tests assert routing decisions across provider/credential envs and verify the runtime harness output shows the Hermes OAuth smoke path is skipped while other probes run.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

enhancement: testing

Suggested reviewers

  • jyaunches

Poem

🐰 I sniffed the keys and found a trail,
Hermes bowed where OpenAI prevailed,
A tiny flag said "skip this hop,"
The harness ran and calls did stop,
Carrots cheered — the probes set sail! 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% 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 title directly describes the main change: narrowing when the Hermes Provider host smoke verification is skipped—specifically, only when onboarding via OPENAI_API_KEY (OAuth), not NOUS_API_KEY.
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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/hermes-provider-smoke-replay-topper

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

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: onboard-inference-smoke-e2e, ubuntu-repo-cloud-hermes
Optional E2E: ubuntu-repo-cloud-openclaw

Dispatch hint: onboard-inference-smoke-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • onboard-inference-smoke-e2e (low-medium; hermetic Node harness, no live provider required): Direct regression coverage for the modified onboard inference smoke path. It verifies onboarding fails closed when a configured OpenAI-compatible route cannot serve chat/completions, guarding against accidental weakening of verifyOnboardInferenceSmoke.
  • ubuntu-repo-cloud-hermes (medium-high; Docker sandbox plus live NVIDIA_API_KEY cloud inference): Closest existing real Hermes user-flow scenario: installs/onboards Hermes on Ubuntu with Docker and validates smoke plus live inference. This is merge-blocking confidence for a Hermes-specific onboarding/inference change, even though it does not exercise the exact Hermes Provider OAuth exception.

Optional E2E

  • ubuntu-repo-cloud-openclaw (medium-high; Docker sandbox plus live NVIDIA_API_KEY cloud inference): Optional broad regression for the generic OpenAI-like onboarding smoke decision path on the primary OpenClaw cloud scenario, since shouldSmokeOpenAiLikeOnboardRoute still handles non-Hermes remote providers.

New E2E recommendations

  • hermes-provider-oauth-onboarding (high): No existing E2E appears to exercise Hermes Provider OAuth with an ambient, mismatched OPENAI_API_KEY while the actual agent key is stored in OpenShell provider storage. The PR’s core behavior is only covered by unit/harness tests today.
    • Suggested test: Add a Hermes Provider OAuth onboarding E2E that stages an ambient OPENAI_API_KEY, completes or mocks OAuth/provider registration, asserts host-side direct smoke is skipped, and then verifies sandbox inference.local/live Hermes inference succeeds using the OpenShell provider-stored key.
  • hermes-provider-nous-api-key-onboarding (medium): The exception should not skip the direct smoke path for Hermes Provider API-key mode using NOUS_API_KEY. Existing E2E coverage does not clearly validate that the Nous API key path still performs the host smoke.
    • Suggested test: Add a Hermes Provider Nous API key onboarding E2E that uses NOUS_API_KEY, asserts the direct OpenAI-compatible smoke probe runs, and verifies onboarding fails closed on a broken upstream.

Dispatch hint

  • Workflow: .github/workflows/regression-e2e.yaml
  • jobs input: onboard-inference-smoke-e2e

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: None
Optional scenario E2E: None

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • None. No scenario workflow, scenario metadata, scenario runtime, or validation-suite files changed.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 3 worth checking, 0 nice ideas
Since last review: 0 prior items resolved, 2 still apply, 0 new items found

Review findings

🛠️ Needs attention

  • None.

🔎 Worth checking

  • Source-of-truth review needed: Hermes Provider OAuth host-side smoke verifier skip in src/lib/inference/onboard-probes.ts: The advisor marked localized patch analysis as needs_followup.
    • Recommendation: Identify the invalid state, source boundary, source-fix constraint, regression test, and removal condition before merging the localized behavior.
    • Evidence: src/lib/inference/onboard-probes.ts adds the guarded skip and inline removal comment; test/helpers/onboard-smoke-verifier-harness.ts intercepts hermes-provider-auth, credentials/store, and adapters/http/probe.
  • Add runtime validation or tracker for the Hermes OAuth smoke-skip workaround (test/helpers/onboard-smoke-verifier-harness.ts:18): The new tests prove the local branch selection for OPENAI_API_KEY, NOUS_API_KEY, and forceOpenAiLike, but the subprocess harness monkeypatches hermes-provider-auth, credentials/store, and adapters/http/probe. That means it does not validate the real OpenShell provider-storage boundary that creates the ambient OPENAI_API_KEY mismatch, nor does it prove the post-onboard route remains usable after OAuth registration.
    • Recommendation: Add or identify a targeted runtime/integration validation that covers Hermes OAuth provider registration plus the post-onboard smoke-verifier path, or record a concrete follow-up/removal tracker for making host smoke resolve the actual OpenShell-stored Hermes agent key.
    • Evidence: test/helpers/onboard-smoke-verifier-harness.ts overrides Module._load for ../hermes-provider-auth, ../credentials/store, and ../adapters/http/probe; test/onboard-smoke-verifier.test.ts asserts fake resolveProviderCredential/runCurlProbe calls rather than exercising OpenShell provider storage.
  • Source-of-truth review still needed for Hermes OAuth host-smoke skip (src/lib/inference/onboard-probes.ts:839): The production change intentionally skips a host-side inference smoke validation for Hermes Provider OAuth because the real agent key lives in OpenShell provider storage while host-side credential resolution can read an unrelated ambient OPENAI_API_KEY. The inline comment identifies a removal condition, but the patch remains a localized workaround without code evidence for why the source boundary cannot be fixed here and without a regression test covering the real boundary.
    • Recommendation: Before relying on the workaround long-term, document or link the source-fix constraint and removal tracker, and prefer a follow-up that makes the host verifier resolve the actual OpenShell-stored Hermes OAuth agent key rather than skipping validation.
    • Evidence: src/lib/inference/onboard-probes.ts returns false for provider === HERMES_PROVIDER_NAME and credentialEnv === HERMES_INFERENCE_CREDENTIAL_ENV, with a removal comment. src/lib/hermes-provider-auth.ts registers OAuth agent keys in OpenShell provider storage under OPENAI_API_KEY, while verifyOnboardInferenceSmoke resolves only host-side credentials.

🌱 Nice ideas

  • None.
Since last review details

Current findings:

  • Source-of-truth review needed: Hermes Provider OAuth host-side smoke verifier skip in src/lib/inference/onboard-probes.ts: The advisor marked localized patch analysis as needs_followup.
    • Recommendation: Identify the invalid state, source boundary, source-fix constraint, regression test, and removal condition before merging the localized behavior.
    • Evidence: src/lib/inference/onboard-probes.ts adds the guarded skip and inline removal comment; test/helpers/onboard-smoke-verifier-harness.ts intercepts hermes-provider-auth, credentials/store, and adapters/http/probe.
  • Add runtime validation or tracker for the Hermes OAuth smoke-skip workaround (test/helpers/onboard-smoke-verifier-harness.ts:18): The new tests prove the local branch selection for OPENAI_API_KEY, NOUS_API_KEY, and forceOpenAiLike, but the subprocess harness monkeypatches hermes-provider-auth, credentials/store, and adapters/http/probe. That means it does not validate the real OpenShell provider-storage boundary that creates the ambient OPENAI_API_KEY mismatch, nor does it prove the post-onboard route remains usable after OAuth registration.
    • Recommendation: Add or identify a targeted runtime/integration validation that covers Hermes OAuth provider registration plus the post-onboard smoke-verifier path, or record a concrete follow-up/removal tracker for making host smoke resolve the actual OpenShell-stored Hermes agent key.
    • Evidence: test/helpers/onboard-smoke-verifier-harness.ts overrides Module._load for ../hermes-provider-auth, ../credentials/store, and ../adapters/http/probe; test/onboard-smoke-verifier.test.ts asserts fake resolveProviderCredential/runCurlProbe calls rather than exercising OpenShell provider storage.
  • Source-of-truth review still needed for Hermes OAuth host-smoke skip (src/lib/inference/onboard-probes.ts:839): The production change intentionally skips a host-side inference smoke validation for Hermes Provider OAuth because the real agent key lives in OpenShell provider storage while host-side credential resolution can read an unrelated ambient OPENAI_API_KEY. The inline comment identifies a removal condition, but the patch remains a localized workaround without code evidence for why the source boundary cannot be fixed here and without a regression test covering the real boundary.
    • Recommendation: Before relying on the workaround long-term, document or link the source-fix constraint and removal tracker, and prefer a follow-up that makes the host verifier resolve the actual OpenShell-stored Hermes OAuth agent key rather than skipping validation.
    • Evidence: src/lib/inference/onboard-probes.ts returns false for provider === HERMES_PROVIDER_NAME and credentialEnv === HERMES_INFERENCE_CREDENTIAL_ENV, with a removal comment. src/lib/hermes-provider-auth.ts registers OAuth agent keys in OpenShell provider storage under OPENAI_API_KEY, while verifyOnboardInferenceSmoke resolves only host-side credentials.

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26611404940
Target ref: 69a1d8ab24167d7da7669d4d1e188bc2b9131d12
Workflow ref: main
Requested jobs: hermes-e2e,cloud-onboard-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
cloud-onboard-e2e ✅ success
hermes-e2e ✅ success

ericksoa added 2 commits May 28, 2026 18:20
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26612236669
Target ref: 8a54352e67b1757874c00c9244cdbceeb560eeb4
Workflow ref: main
Requested jobs: all (no filter)
Summary: 38 passed, 2 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-add-remove-e2e ⚠️ cancelled
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-dashboard-e2e ✅ success
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-onboard-security-posture-e2e ✅ success
hermes-root-entrypoint-smoke-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ⚠️ cancelled
issue-3600-gpu-proof-optional-e2e ✅ success
kimi-inference-compat-e2e ✅ success
launchable-smoke-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ⚠️ cancelled
network-policy-e2e ⚠️ cancelled
onboard-negative-paths-e2e ✅ success
onboard-repair-e2e ⚠️ cancelled
onboard-resume-e2e ✅ success
openclaw-discord-pairing-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-onboard-security-posture-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openclaw-tui-chat-correlation-e2e ✅ success
openshell-gateway-upgrade-e2e ⚠️ cancelled
overlayfs-autofix-e2e ✅ success
rebuild-hermes-e2e ❌ failure
rebuild-hermes-stale-base-e2e ❌ failure
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 ✅ success
vm-driver-privileged-exec-routing-e2e ✅ success

Failed jobs: rebuild-hermes-e2e, rebuild-hermes-stale-base-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: 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/helpers/onboard-smoke-verifier-harness.ts`:
- Line 24: The function signature for patchedLoad currently declares unused
parameters parent and isMain; update the signature of Module._load's replacement
(patchedLoad) to underscore unused params (e.g., _parent and _isMain) so it
complies with the TS/JS unused-variable rule; ensure you only rename the
parameters in the patchedLoad declaration (and any internal references if
present) to _parent and _isMain and run linters/tests.
- Around line 1-3: This file is missing the required SPDX header; add the exact
SPDX copyright and license header block at the very top of
onboard-smoke-verifier-harness.ts (above the existing import lines) so it
matches the project's required header for *.ts files; ensure the header text is
identical to other repository files (including SPDX identifier and copyright
notice) and commit the change so the file begins with that header before any
code or imports.
🪄 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: 2150bf92-4bba-449c-95b8-53b524007fa9

📥 Commits

Reviewing files that changed from the base of the PR and between 8a54352 and e41c7b2.

📒 Files selected for processing (3)
  • src/lib/inference/onboard-probes.test.ts
  • src/lib/inference/onboard-probes.ts
  • test/helpers/onboard-smoke-verifier-harness.ts

Comment thread test/helpers/onboard-smoke-verifier-harness.ts
Comment thread test/helpers/onboard-smoke-verifier-harness.ts Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26612549820
Target ref: e41c7b2c3aca05c2a1fc0fb1b99586276c69007f
Workflow ref: main
Requested jobs: hermes-e2e,inference-routing-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
hermes-e2e ✅ success
inference-routing-e2e ✅ success

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

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26612836287
Target ref: 1f8165dfccd834a41d1c0e2d0518226b9d4c2ae0
Workflow ref: main
Requested jobs: hermes-e2e,inference-routing-e2e
Summary: 0 passed, 0 failed, 0 skipped

Job Result
hermes-e2e ⚠️ cancelled
inference-routing-e2e ⚠️ cancelled

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26612903335
Target ref: 1f8165dfccd834a41d1c0e2d0518226b9d4c2ae0
Workflow ref: main
Requested jobs: hermes-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
hermes-e2e ✅ success

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

@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/onboard-smoke-verifier.test.ts`:
- Line 7: Replace the CommonJS require with an ESM named import for the probe:
change the require(...) call that imports shouldSmokeOpenAiLikeOnboardRoute to
an ES module import statement (import { shouldSmokeOpenAiLikeOnboardRoute } from
"../dist/lib/inference/onboard-probes";) so the test file uses ESM syntax
consistent with Vitest and the repo policy; keep the exact exported symbol name
shouldSmokeOpenAiLikeOnboardRoute and ensure there are no other require() usages
in this test file.
🪄 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: c9a38766-d5ad-4f11-a57f-0b59eba938b3

📥 Commits

Reviewing files that changed from the base of the PR and between 1f8165d and 9a19be5.

📒 Files selected for processing (2)
  • src/lib/inference/onboard-probes.test.ts
  • test/onboard-smoke-verifier.test.ts
💤 Files with no reviewable changes (1)
  • src/lib/inference/onboard-probes.test.ts

Comment thread test/onboard-smoke-verifier.test.ts Outdated
@ericksoa

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26613392563
Target ref: cae9cadbd07bc48e215031442fb3f6508246c86e
Workflow ref: main
Requested jobs: hermes-e2e,inference-routing-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
hermes-e2e ✅ success
inference-routing-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26614609785
Target ref: 1a6e99e7516f263f81f2e390b0e4b56d38bfdee6
Workflow ref: main
Requested jobs: hermes-e2e,inference-routing-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
hermes-e2e ✅ success
inference-routing-e2e ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 26614787159
Target ref: 1a6e99e7516f263f81f2e390b0e4b56d38bfdee6
Workflow ref: main
Requested jobs: all (no filter)
Summary: 55 passed, 0 failed, 2 skipped

Job Result
bedrock-runtime-compatible-anthropic-e2e ✅ success
brave-search-e2e ✅ success
channels-add-remove-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-dashboard-e2e ✅ success
hermes-discord-e2e ✅ success
hermes-e2e ✅ success
hermes-inference-switch-e2e ✅ success
hermes-onboard-security-posture-e2e ✅ success
hermes-root-entrypoint-smoke-e2e ✅ success
hermes-slack-e2e ✅ success
inference-routing-e2e ✅ success
issue-2478-crash-loop-recovery-e2e ✅ success
issue-3600-gpu-proof-optional-e2e ✅ success
issue-4462-gateway-pinned-approval-characterization-e2e ✅ success
issue-4462-scope-upgrade-approval-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-discord-pairing-e2e ✅ success
openclaw-inference-switch-e2e ✅ success
openclaw-onboard-security-posture-e2e ✅ success
openclaw-slack-pairing-e2e ✅ success
openclaw-tui-chat-correlation-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
vm-driver-privileged-exec-routing-e2e ✅ success

@ericksoa
ericksoa merged commit faa0b8e into main May 29, 2026
28 checks passed
@ericksoa
ericksoa deleted the fix/hermes-provider-smoke-replay-topper branch May 29, 2026 03:23
@miyoungc miyoungc mentioned this pull request May 29, 2026
12 tasks
miyoungc added a commit that referenced this pull request May 29, 2026
## Summary
Refreshes the NemoClaw documentation for the v0.0.54 release and
regenerates user skills from the Fern MDX source. Also keeps the Fern
CLI pin current so local docs checks use the upgraded Fern version.

## Related Issue
<!-- No single related issue. This is release-prep documentation
catch-up. -->

## Changes
- #4403 -> `docs/manage-sandboxes/messaging-channels.mdx`,
`docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Document
Telegram, Discord, and Slack post-rebuild bridge verification and
summarize channel activation fixes.
- #4222 -> `docs/about/release-notes.mdx`: Include Slack generated
channel enablement in the v0.0.54 messaging summary.
- #4346 -> `docs/get-started/windows-preparation.mdx`,
`docs/about/release-notes.mdx`: Document safer Windows bootstrap
behavior for Ubuntu first-run and Docker Desktop WSL integration.
- #4416 -> `docs/inference/use-local-inference.mdx`,
`docs/about/release-notes.mdx`: Document the Docker Desktop WSL
requirement for Windows-host Ollama.
- #4442 -> `docs/about/release-notes.mdx`: Summarize the optional
NemoHermes native web dashboard and related environment variables.
- #4426 -> `docs/about/release-notes.mdx`: Summarize copy-paste recovery
hints for invalid sandbox names and missing NVIDIA API keys.
- #4459 -> `docs/about/release-notes.mdx`: Summarize the Linuxbrew
prefix fix for sandbox Homebrew usage.
- #4450 -> `docs/about/release-notes.mdx`: Summarize `/nemoclaw` slash
command startup activation.
- #4468 -> `docs/about/release-notes.mdx`: Summarize scope-upgrade
approval recovery.
- #4325 -> `docs/about/release-notes.mdx`: Summarize the narrowed
`web_fetch` host-gateway allowance.
- #4474 -> `docs/about/release-notes.mdx`: Summarize Hermes Provider
smoke-check behavior for OAuth versus Nous API key setup.
- Refresh generated `.agents/skills/nemoclaw-user-*` references from
`docs/` and update `fern/fern.config.json` to Fern `5.41.2`.

## Type of Change
- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [x] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Verification
<!-- Check each item you ran and confirmed. Leave unchecked items you
skipped. Doc-only changes do not require npm test unless you ran it. -->
- [ ] `npx prek run --all-files` passes
- [ ] `npm test` passes
- [ ] Tests added or updated for new or changed behavior
- [x] No secrets, API keys, or credentials committed
- [x] Docs updated for user-facing behavior changes
- [ ] `npm run docs` builds without warnings (doc changes only)
- [x] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new pages only)

---
<!-- DCO sign-off required by CI. Run: git config user.name && git
config user.email -->
Signed-off-by: Miyoung Choi <miyoungc@nvidia.com>

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

* **New Features**
  * Optional NemoHermes native web dashboard (configurable port and TUI)
* GPU memory cleanup now unloads Ollama models when switching providers
or stopping services

* **Bug Fixes**
  * Improved sandbox name validation with suggested slug recovery
* Windows-host Ollama now requires Docker Desktop WSL integration and
exits with remediation guidance when unsupported

* **Documentation**
* Clarified quickstart/onboard flow, installer TTY/non‑TTY guidance,
Hermes Docker prerequisites, sandbox hardening, and channels add rebuild
checks

<!-- 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/4539?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 -->
@wscurran wscurran added area: inference Inference routing, serving, model selection, or outputs bug-fix PR fixes a bug or regression feature PR adds or expands user-visible functionality and removed fix feature PR adds or expands user-visible functionality labels Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: inference Inference routing, serving, model selection, or outputs bug-fix PR fixes a bug or regression integration: hermes Hermes integration behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants