Skip to content

fix(status): show plugin-registered platforms in hermes status#44124

Open
AIalliAI wants to merge 1 commit into
NousResearch:mainfrom
AIalliAI:fix/44119-status-plugin-platforms
Open

fix(status): show plugin-registered platforms in hermes status#44124
AIalliAI wants to merge 1 commit into
NousResearch:mainfrom
AIalliAI:fix/44119-status-plugin-platforms

Conversation

@AIalliAI

Copy link
Copy Markdown
Contributor

Summary

hermes status never showed plugin-registered messaging platforms (Google Chat, IRC, LINE, Mattermost, ntfy, etc.) — the Messaging Platforms section only listed built-ins.

Root cause: show_status() in hermes_cli/status.py reads platform_registry.plugin_entries(), but nothing on the hermes status code path ever runs plugin discovery, so the registry is always empty and the plugin loop prints nothing. Every other consumer of the registry (hermes_cli/gateway.py platform enumeration, gateway/config.py, cron/scheduler.py) calls the idempotent discover_plugins() before reading it.

Fix: apply the same pattern in status.py — call discover_plugins() (wrapped in try/except like the existing block) right before reading plugin_entries().

Before / after

Before (plugin platforms silently omitted):

  QQBot         ✗ not configured
  Yuanbao       ✗ not configured

◆ Gateway Service

After:

  QQBot         ✗ not configured
  Yuanbao       ✗ not configured
  Discord       ✓ configured (plugin)
  Google Chat   ✗ not configured (plugin)
  Home Assistant  ✗ not configured (plugin)
  IRC           ✗ not configured (plugin)
  ...

Testing

  • Added test_show_status_discovers_plugin_platforms — stubs discover_plugins to register a fake PlatformEntry and asserts it shows up with (plugin). Fails on main, passes with the fix.
  • tests/hermes_cli/test_status.py: 18 passed.
  • Manually verified hermes status on a machine with bundled platform plugins: 10 plugin platforms now listed (0 before).

Fixes #44119

🤖 Generated with Claude Code

…s status

show_status() read platform_registry.plugin_entries() without ever
running plugin discovery on the 'hermes status' code path, so the
registry was always empty and plugin-registered messaging platforms
were silently omitted. Apply the same idempotent discover_plugins()
pattern used by the other registry consumers (hermes_cli/gateway.py,
gateway/config.py, cron/scheduler.py).

Fixes NousResearch#44119

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard labels Jun 11, 2026
@AIalliAI

Copy link
Copy Markdown
Contributor Author

Requesting maintainer review — this is ready to land from my side. Standalone fork CI is pending first-run approval here; the rollup branch in #44061 carrying this session's batch is fully green on upstream CI (all test shards, typecheck, e2e).

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 type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: hermes status omits plugin-registered platforms

2 participants