fix(status): show plugin-registered platforms in hermes status - #44124
fix(status): show plugin-registered platforms in hermes status#44124AIalliAI wants to merge 1 commit into
Conversation
|
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). |
3746fe7 to
952f3cd
Compare
…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
952f3cd to
143a4e1
Compare
|
Thanks for the focused regression fix. The premise remains present on current The proposed call is consistent with No blocking correctness or design-fit issues found. The target hunk is unchanged on current main, so this should be mechanically salvageable. Automated hermes-sweeper review. |
Summary
hermes statusnever showed plugin-registered messaging platforms (Google Chat, IRC, LINE, Mattermost, ntfy, etc.) — the Messaging Platforms section only listed built-ins.Root cause:
show_status()inhermes_cli/status.pyreadsplatform_registry.plugin_entries(), but nothing on thehermes statuscode 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.pyplatform enumeration,gateway/config.py,cron/scheduler.py) calls the idempotentdiscover_plugins()before reading it.Fix: apply the same pattern in
status.py— calldiscover_plugins()(wrapped in try/except like the existing block) right before readingplugin_entries().Before / after
Before (plugin platforms silently omitted):
After:
Testing
test_show_status_discovers_plugin_platforms— stubsdiscover_pluginsto register a fakePlatformEntryand asserts it shows up with(plugin). Fails on main, passes with the fix.tests/hermes_cli/test_status.py: 18 passed.hermes statuson a machine with bundled platform plugins: 10 plugin platforms now listed (0 before).Fixes #44119