fix(cli): improve light terminal body contrast - #60972
Open
chengjiew wants to merge 1 commit into
Open
Conversation
This was referenced Jul 9, 2026
Contributor
|
Thanks for the focused contrast work. Two blocking scope/correctness issues need resolution. Problems
Suggested changes
Automated hermes-sweeper review. |
jyaunches
pushed a commit
to NVIDIA/NemoClaw
that referenced
this pull request
Jul 10, 2026
## Summary - write a NemoClaw-managed `nemoclaw-light` Hermes skin inside the sandbox Hermes home for light terminal sessions - activate it only when `COLORFGBG` reports a light background and the user has not set `HERMES_TUI_THEME`, `HERMES_TUI_LIGHT`, or `display.skin` - keep the theme chrome unchanged while using the darker Hermes body/list text color from the upstream Hermes fix proposal Fixes #6380. Related upstream Hermes PR: NousResearch/hermes-agent#60972. ## Validation - `npm test -- --run src/lib/domain/sandbox/connect-env.test.ts src/lib/actions/sandbox/connect-hermes-light-theme.test.ts` - `git diff --check` - Linux smoke on `aits-log-worker-6`: real Hermes TUI output used `#7A5A0F` (`38;2;122;90;15`) for body/list text after writing `/sandbox/.hermes/skins/nemoclaw-light.yaml` and `display.skin: nemoclaw-light` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Hermes sandbox connections now automatically prepare/apply a light-compatible terminal skin when the host terminal appears light. * The connect flow now uses a computed connection environment and avoids unnecessary sandbox reconfiguration when a managed `display.skin` is already present. * **Bug Fixes** * Improved reconnect and failure handling: connection still proceeds while emitting safe, redacted warnings. * Skin/config operations are correctly scoped to the selected Hermes sandbox and skipped when user theme overrides are set. * **Tests** * Expanded Hermes connect-environment/skin behavior coverage and updated the connect-flow test harness (plus timing determinism for gateway recovery). <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Chengjie Wang <chengjiew@nvidia.com> --------- Signed-off-by: Carlos Villela <cvillela@nvidia.com> Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Prekshi Vyas <prekshiv@nvidia.com>
Hadar301
pushed a commit
to Hadar301/NemoClaw-OpenShift
that referenced
this pull request
Jul 12, 2026
## Summary - write a NemoClaw-managed `nemoclaw-light` Hermes skin inside the sandbox Hermes home for light terminal sessions - activate it only when `COLORFGBG` reports a light background and the user has not set `HERMES_TUI_THEME`, `HERMES_TUI_LIGHT`, or `display.skin` - keep the theme chrome unchanged while using the darker Hermes body/list text color from the upstream Hermes fix proposal Fixes NVIDIA#6380. Related upstream Hermes PR: NousResearch/hermes-agent#60972. ## Validation - `npm test -- --run src/lib/domain/sandbox/connect-env.test.ts src/lib/actions/sandbox/connect-hermes-light-theme.test.ts` - `git diff --check` - Linux smoke on `aits-log-worker-6`: real Hermes TUI output used `#7A5A0F` (`38;2;122;90;15`) for body/list text after writing `/sandbox/.hermes/skins/nemoclaw-light.yaml` and `display.skin: nemoclaw-light` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Hermes sandbox connections now automatically prepare/apply a light-compatible terminal skin when the host terminal appears light. * The connect flow now uses a computed connection environment and avoids unnecessary sandbox reconfiguration when a managed `display.skin` is already present. * **Bug Fixes** * Improved reconnect and failure handling: connection still proceeds while emitting safe, redacted warnings. * Skin/config operations are correctly scoped to the selected Hermes sandbox and skipped when user theme overrides are set. * **Tests** * Expanded Hermes connect-environment/skin behavior coverage and updated the connect-flow test harness (plus timing determinism for gateway recovery). <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Chengjie Wang <chengjiew@nvidia.com> --------- Signed-off-by: Carlos Villela <cvillela@nvidia.com> Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Prekshi Vyas <prekshiv@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #60141.
Originated from NVIDIA/NemoClaw#6380.
Validation
uv run python -m py_compile cli.py hermes_cli/banner.py tests/cli/test_stream_delta_think_tag.py tests/hermes_cli/test_banner.py_emit_stream_text()uses\033[38;2;122;90;15m(#7A5A0F) and emits response text\x1b[38;2;255;248;220m)Known local test issue
uv run python -m pytest tests/cli/test_stream_delta_think_tag.py::test_stream_response_body_uses_readable_hermes_foreground tests/hermes_cli/test_banner.py::test_build_welcome_banner_does_not_force_cornsilk_on_body_text -qexits 139 in this checkout before producing pytest output. The direct smoke checks above cover the changed behavior locally.