Skip to content

fix: brand NemoHermes uninstall goodbye#3220

Merged
ericksoa merged 3 commits into
mainfrom
fix/nemohermes-uninstall-goodbye
May 8, 2026
Merged

fix: brand NemoHermes uninstall goodbye#3220
ericksoa merged 3 commits into
mainfrom
fix/nemohermes-uninstall-goodbye

Conversation

@ericksoa

@ericksoa ericksoa commented May 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • use active agent branding for the uninstall completion header
  • end NemoHermes uninstall with “Hermes has left the tidepool.”
  • keep the default NemoClaw goodbye unchanged

Tests

  • npm ci --ignore-scripts
  • npx vitest run src/lib/actions/uninstall/run-plan.test.ts
  • npm run build:cli
  • npm run typecheck:cli
  • npm run source-shape:check
  • npm run format:check -- src/lib/actions/uninstall/run-plan.ts src/lib/actions/uninstall/run-plan.test.ts
  • git diff --check

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

Summary by CodeRabbit

  • New Features

    • Uninstaller now uses agent-specific branding and farewell messages (e.g., Hermes) instead of static product text.
  • Refactor

    • Command help, usage and flag descriptions now derive from CLI branding constants for consistent messaging.
  • Tests

    • Added/updated tests to verify agent-specific uninstall output and ensure absence of incorrect branding.

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

coderabbitai Bot commented May 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Uninstall farewell messaging and CLI text were made agent-aware: branding schema gained uninstallGoodbye, uninstall banners/step labels now use agent branding via getAgentBranding(runtime.env.NEMOCLAW_AGENT), call sites updated to forward runtime, CLI metadata uses branding constants, and Hermes-specific tests/helpers were added.

Changes

Agent-Specific Farewell Messaging

Layer / File(s) Summary
Branding Schema
src/lib/cli/branding.ts
AgentBranding gains uninstallGoodbye; DEFAULT_BRANDING and Hermes entry include uninstallGoodbye; minor doc comment formatting adjusted.
Agent-Aware Farewell Implementation
src/lib/actions/uninstall/run-plan.ts
Adds getAgentBranding import and helpers; banners, step labels, and warnings now use branding.display and branding.uninstallGoodbye; printBye now accepts full UninstallRuntime and runUninstallPlan forwards runtime.
CLI Metadata Wiring
src/commands/..., src/commands/internal/uninstall/..., src/commands/uninstall.ts
Replace hard-coded product/CLI strings with CLI_DISPLAY_NAME and CLI_NAME in command summaries, usage, examples, and flag descriptions.
Tests / Helpers
src/lib/actions/uninstall/run-plan.test.ts, test/uninstall.test.ts
Add Hermes-specific uninstall tests and a writeFakeTools helper; adjust existing test expectation ordering to include Hermes cases.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 In the tidepool I nibble a key,
Hermes or Nemo now sign their plea,
Runtime-aware hops, a branded goodbye,
Each agent waves as the binaries fly,
🥕✨

🚥 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 clearly describes the main change: implementing agent-specific branding (NemoHermes) for uninstall goodbye messages, which is the primary focus of the PR across multiple files.
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 fix/nemohermes-uninstall-goodbye

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

@ericksoa ericksoa changed the title Brand NemoHermes uninstall goodbye fix: brand NemoHermes uninstall goodbye May 8, 2026
ericksoa added 2 commits May 7, 2026 19:45
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
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.

🧹 Nitpick comments (1)
test/uninstall.test.ts (1)

97-97: ⚡ Quick win

Make PATH composition inherit the ambient PATH for test portability.

Use ${fakeBin}:${process.env.PATH || ""} instead of hardcoding /usr/bin:/bin so the fake tools stay first while preserving runner-specific paths.

Suggested patch
-          PATH: `${fakeBin}:/usr/bin:/bin`,
+          PATH: `${fakeBin}:${process.env.PATH || ""}`,

Based on learnings, in this repo’s tests PATH should be built with POSIX : and typically as ${fakeBin}:${process.env.PATH || ""}.

🤖 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/uninstall.test.ts` at line 97, The PATH in the test hardcodes system
dirs as `${fakeBin}:/usr/bin:/bin`; update the test to prepend the fake bin
while inheriting the ambient PATH by replacing that string with
`${fakeBin}:${process.env.PATH || ""}` so the fake tools stay first but
runner-specific paths are preserved (locate the occurrence of the PATH
assignment in test/uninstall.test.ts where `${fakeBin}:/usr/bin:/bin` is used).
🤖 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/uninstall.test.ts`:
- Line 97: The PATH in the test hardcodes system dirs as
`${fakeBin}:/usr/bin:/bin`; update the test to prepend the fake bin while
inheriting the ambient PATH by replacing that string with
`${fakeBin}:${process.env.PATH || ""}` so the fake tools stay first but
runner-specific paths are preserved (locate the occurrence of the PATH
assignment in test/uninstall.test.ts where `${fakeBin}:/usr/bin:/bin` is used).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5388e1bd-ae90-4971-b7ff-f53eaac19cac

📥 Commits

Reviewing files that changed from the base of the PR and between a582b00 and 7e25b23.

📒 Files selected for processing (6)
  • src/commands/internal/uninstall/plan.ts
  • src/commands/internal/uninstall/run-plan.ts
  • src/commands/uninstall.ts
  • src/lib/actions/uninstall/run-plan.test.ts
  • src/lib/actions/uninstall/run-plan.ts
  • test/uninstall.test.ts
✅ Files skipped from review due to trivial changes (2)
  • src/commands/uninstall.ts
  • src/commands/internal/uninstall/run-plan.ts

@ericksoa ericksoa merged commit d413b6b into main May 8, 2026
19 checks passed
@ericksoa ericksoa deleted the fix/nemohermes-uninstall-goodbye branch May 8, 2026 03:16
miyoungc added a commit that referenced this pull request May 9, 2026
## Summary
- Bump the docs release metadata to `0.0.38`.
- Document release-prep updates for status policy versions, Local Ollama
validation and cleanup, blueprint policy additions, rebuild backup
handling, and NemoHermes uninstall branding.
- Refresh generated `nemoclaw-user-*` skills from the updated docs.

## Source summary
- #3185 -> `docs/reference/commands.md`: Documents that `nemoclaw <name>
status` displays the gateway active policy version when OpenShell
reports one.
- #3167 -> `docs/reference/commands.md`,
`docs/inference/use-local-inference.md`: Documents uninstall cleanup for
matching Local Ollama auth proxy processes.
- #2737 -> `docs/inference/use-local-inference.md`,
`docs/network-policy/customize-network-policy.md`,
`docs/manage-sandboxes/lifecycle.md`, `docs/reference/commands.md`:
Documents stricter Local Ollama tool-call validation, blueprint policy
additions, and partial rebuild backup handling.
- #3220 -> `docs/reference/commands.md`: Documents NemoHermes-specific
uninstall progress and completion text.
- #3158 -> `.agents/skills/nemoclaw-user-configure-inference/*`:
Refreshes generated user skills from existing
`docs/inference/switch-inference-providers.md` heartbeat documentation.
- #3199 -> `.agents/skills/nemoclaw-user-get-started/SKILL.md`:
Refreshes generated user skills from existing
`docs/get-started/quickstart.md` Model Router wording.

## Skipped
- #3272 and #3268 were already documented by their merged docs updates
on `main`.
- #3154, #3216, #3166, and #3195 have no additional user-facing docs
impact for this release-prep pass.
- No commits matched `docs/.docs-skip`.

## Test plan
- `python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix
nemoclaw-user`
- `make docs`
- `npm run build:cli`
- Commit and pre-push hooks: markdownlint, docs-to-skills verification,
gitleaks, commitlint, skills YAML tests, CLI typecheck


Made with [Cursor](https://cursor.com)

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

## Summary by CodeRabbit

* **Behavior Changes**
* Rebuild now safely handles partial backups, preserving successfully
captured entries while reporting only unarchived paths
* Uninstall for Local Ollama setups now stops proxy processes before
cleanup
* Local Ollama models require stricter tool-call response validation
during onboarding
* Blueprint policy additions enable custom network policy extensions via
`components.policy.additions`
* New `NEMOCLAW_AGENT_HEARTBEAT_EVERY` configuration controls agent
periodic task frequency
  * Status display now shows active policy version when available

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

Co-authored-by: Cursor <cursoragent@cursor.com>
@wscurran wscurran added the bug-fix PR fixes a bug or regression label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants