Conversation
/whoami is registered in COMMAND_REGISTRY (hermes_cli/commands.py) and advertised by /help and tab-completion, but HermesCLI.process_command had no branch for it — typing /whoami printed "Unknown command". This is the NousResearch#74594 bug class (registered command, missing CLI dispatch). - cli.py: route canonical == "whoami" to _handle_whoami_command - cli_commands_mixin.py: handler reports the local operator's tier (admin / unrestricted — the CLI runs on the operator's own machine, mirroring the gateway's unrestricted tier when no admin list is set) - tests/cli/test_whoami_command.py: dispatch wiring + handler behavior Refs NousResearch#74594
|
Thanks for the triage — the duplicate label is fair at the fix-intent level: this wires One practical wrinkle: #26047 is stale relative to current main. Opened 2026-05-15 with a single commit, and the 07-13 hermes-sweeper review asked for the handler to move from This PR already implements exactly that requested shape: the Since #26047's branch predates the mixin refactor and is effectively unmaintained, I'd suggest treating this PR as the living implementation of the same fix and marking #26047 superseded — otherwise #74594 stays open pending a PR that doesn't conform to current main. Either way, note that #74595's |
What does this PR do?
Fixes the live instance of #74594:
/whoamiis registered inCOMMAND_REGISTRY(advertised by/helpand tab-completion) butHermesCLI.process_commandhad no dispatch branch for it — typing/whoamiprinted "Unknown command: /whoami".cli.py— routecanonical == "whoami"to_handle_whoami_command()hermes_cli/cli_commands_mixin.py— handler reports the local operator'sslash-command access: the classic CLI runs on the operator's own machine,
so the operator is the local admin (unrestricted), mirroring the gateway's
unrestrictedtier when no admin list is configured for a scopetests/cli/test_whoami_command.py— runtime dispatch wiring (handler spy,no "Unknown command" fall-through) + handler behavior
Related Issue
Fixes #74594
Refs #74595 (the parity guard lists
/whoamiinKNOWN_MISSING_DISPATCH;drop the entry once this lands)
Type of Change
Test Plan