Skip to content

fix(cli): hermes memory status now reads actual config instead of hardcoded 'always active' - #70065

Merged
kshitijk4poor merged 3 commits into
NousResearch:mainfrom
kshitijk4poor:salvage/23630-memory-status
Jul 23, 2026
Merged

fix(cli): hermes memory status now reads actual config instead of hardcoded 'always active'#70065
kshitijk4poor merged 3 commits into
NousResearch:mainfrom
kshitijk4poor:salvage/23630-memory-status

Conversation

@kshitijk4poor

Copy link
Copy Markdown
Collaborator

Summary

hermes memory status now shows actual config state for memory injection, user profile, and memory tool instead of a hardcoded "always active" label.

Changes

  • hermes_cli/memory_setup.py: cmd_status() reads memory_enabled, user_profile_enabled, and uses the canonical _get_platform_tools() resolver to check if the memory tool is enabled for the CLI platform. Displays three config-aware indicators with ✓/✗ marks.
  • tests/hermes_cli/test_memory_status.py: 10 tests covering all indicators, disabled states, toolset resolution, and provider display.
  • scripts/release.py: AUTHOR_MAP entry for huajiang@tubi.tvthirstycrow.

Validation

Check Result
tests/hermes_cli/test_memory_status.py 10 passed
E2E smoke (real imports, config loading) 5/5 passed
Ruff clean
2c angle-4 Hermes checks all pass

Notes

Closes #23630. Based on #23630 by @thirstycrow and #18491 by @onurkarali.

huajiang-tubi and others added 3 commits July 23, 2026 17:09
…d 'always active'

The 'Built-in: always active' label was a hardcoded string that never
reflected the user's actual configuration. It now shows three separate
indicators, each reading from the real source of truth:

  - Memory injection:  reads memory.memory_enabled from config.yaml
  - User profile:      reads memory.user_profile_enabled from config.yaml
  - Memory tool:       checks if 'memory' is in platform_toolsets.cli
                       (or defaults to enabled if no explicit list)

Before:
  Built-in:  always active

After:
  Built-in (MEMORY.md / USER.md):
    Memory injection:   disabled ✗
    User profile:       disabled ✗
    Memory tool:        disabled ✗
Add tests/hermes_cli/test_memory_status.py with 11 tests covering:
- No hardcoded 'always active' label
- memory_enabled, user_profile_enabled, memory toolset indicators
- Tool enabled/disabled via platform_toolsets.cli
- Provider still shown alongside indicators

Add huajiang@tubi.tv → thirstycrow to AUTHOR_MAP (PR NousResearch#23630 salvage).
The PR's inline toolset resolution (checking 'memory' in cli_toolsets
list) produced wrong results for composite toolsets like 'hermes-cli'
which expand to include the memory tool. Replace with the canonical
_get_platform_tools() from tools_config.py which correctly handles
composite toolsets and all edge cases.

Update tests to mock _get_platform_tools instead of raw config.
@kshitijk4poor kshitijk4poor added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard labels Jul 23, 2026
@kshitijk4poor
kshitijk4poor merged commit 97d51ca into NousResearch:main Jul 23, 2026
36 checks passed
@alt-glitch alt-glitch added tool/memory Memory tool and memory providers P3 Low — cosmetic, nice to have labels Jul 23, 2026
@kshitijk4poor
kshitijk4poor deleted the salvage/23630-memory-status branch August 5, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have tool/memory Memory tool and memory providers type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants