Skip to content

Fix webhook platform registration and onboarding delivery - #4000

Closed
orangebread wants to merge 1 commit into
NousResearch:mainfrom
orangebread:codex/webhook-platform-hardening
Closed

Fix webhook platform registration and onboarding delivery#4000
orangebread wants to merge 1 commit into
NousResearch:mainfrom
orangebread:codex/webhook-platform-hardening

Conversation

@orangebread

Copy link
Copy Markdown

Summary

  • register webhook as a first-class platform/toolset across the CLI registries
  • include webhook in the shared gateway toolset coverage and skills platform list
  • skip the home-channel onboarding prompt for webhook-origin sessions so cross-platform webhook delivery sends the actual response first
  • add regression tests for webhook tool registration and webhook onboarding behavior

Validation

  • pytest -q -o addopts='' tests/hermes_cli/test_tools_config.py -k 'webhook_default_when_platform_not_configured or gateway_toolset_includes_all_messaging_platforms or skills_config_covers_tools_config_platforms' tests/gateway/test_webhook_home_channel_prompt.py

@alexx-ftw

Copy link
Copy Markdown

Validated from a real VPS deployment using Hermes webhook + Telegram together.

What I can confirm from production use:

  • webhook-originated sessions still need explicit platform/toolset registration in the CLI/runtime registries
  • webhook sessions should not receive the "No home channel is set ... Type /sethome" onboarding prompt

Why this matters in practice:

On this VPS, webhook is used as a real event ingress path and Telegram is the real user-facing delivery channel. Without the webhook platform registration, webhook-triggered runs are not treated as a first-class platform correctly. And without suppressing the home-channel onboarding for webhook-origin sessions, the delivery path can send misleading onboarding noise instead of the actual user-facing result.

So the fixes in this PR match a real production need, not just a theoretical cleanup.

From checking current upstream locally before commenting:

  • gateway/run.py still only skips the onboarding prompt for Platform.LOCAL
  • hermes_cli/tools_config.py still does not register webhook in PLATFORMS

That means this PR is still addressing a real gap in current main.

Thanks — this is the right direction.

@orangebread

Copy link
Copy Markdown
Author

@alexx-ftw Hi Alexx, what are next steps for this PR? Should I be addressing anything or is this something you/your team will handle internally? Thanks!

@alexx-ftw

Copy link
Copy Markdown

Hello!

We did a hot fix internally but it breaks at every /update naturally so we are just waiting on this the get approved/merged.

Thanks for the effort

@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the contribution, @orangebread! The fixes in this PR have already landed on main via a parallel salvage of PR #4363.

Automated hermes-sweeper review — closing as implemented on main.

  • The Platform.WEBHOOK onboarding exclusion is live at gateway/run.py:4620 (commit e0b2bdb)
  • hermes-webhook toolset exists in toolsets.py:443 and is included in hermes-gateway
  • webhook is registered in hermes_cli/platforms.py:39; both tools_config.py and skills_config.py derive their PLATFORMS dict from that shared registry, so the entry propagates automatically

All of this shipped on 2026-04-02 via commit e0b2bdb (PR #4660). The production behavior @alexx-ftw described is fixed upstream. Thanks again for the clear write-up and the external validation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants