Skip to content

fix(hooks): register config hooks for serve - #102513

Open
fangliquanflq wants to merge 1 commit into
NousResearch:mainfrom
fangliquanflq:fix/serve-shell-hook-registration
Open

fangliquanflq wants to merge 1 commit into
NousResearch:mainfrom
fangliquanflq:fix/serve-shell-hook-registration

Conversation

@fangliquanflq

Copy link
Copy Markdown
Contributor

Summary

  • register config-owned shell hooks from the shared dashboard/serve runtime after plugin discovery
  • cover the lean hermes serve fast path used by the Desktop backend without changing its MCP startup strategy
  • keep shell-hook and outbound-webhook config registration on one idempotent helper

Testing

  • scripts/run_tests.sh tests/hermes_cli/test_fast_serve_launch.py tests/hermes_cli/test_mcp_startup.py -q (17 passed)

Related Issue

Closes #102504

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/cli CLI entry point, hermes_cli/, setup wizard comp/desktop Electron desktop app (apps/desktop/*) area/config Config system, migrations, profiles duplicate This issue or pull request already exists labels Sep 3, 2026
@alt-glitch

Copy link
Copy Markdown
Contributor

This was generated by AI during triage.

Duplicate of #69832 — same fix (register config.yaml shell hooks inside the dashboard/serve startup path, including the fast hermes serve launch) for the same bug (#61806 / #69825 / #102504). Other open PRs in this cluster: #85225, #92655, #102151, #102521.

@fangliquanflq

Copy link
Copy Markdown
Contributor Author

Confirmed. This PR overlaps #69832 at the same cmd_dashboard startup chokepoint: both register config-owned shell hooks after plugin discovery so the hermes serve fast path is covered before the server starts. The current diff also factors the existing shell-hook/outbound-webhook registration into a shared helper, but that does not make the underlying bug fix distinct. No additional code change is needed in response to this triage note. Evidence reviewed: both PR diffs against main, the serve fast-path dispatch, and the passing required CI on this head.

ericmaddox added a commit to ericmaddox/hermes-agent that referenced this pull request Sep 5, 2026
…ousResearch#102504)

Consolidate dashboard/serve runtime hook registration into topical
`hermes_cli/config_shell_hooks.py` following the main.py decomposition.
Ensures deterministic plugin-first ordering after synchronous plugin discovery,
preserves hook-free contracts for early lifecycle exits (--status / --stop),
and includes real-path precedence test coverage.

Co-authored-by: NousResearch#61844 <contributor@nousresearch.com>
Co-authored-by: NousResearch#70461 <contributor@nousresearch.com>
Co-authored-by: NousResearch#69832 <contributor@nousresearch.com>
Co-authored-by: NousResearch#102513 <contributor@nousresearch.com>
Co-authored-by: NousResearch#81409 <contributor@nousresearch.com>
ericmaddox added a commit to ericmaddox/hermes-agent that referenced this pull request Sep 7, 2026
…ousResearch#102504)

Consolidate dashboard/serve runtime hook registration into topical
`hermes_cli/config_shell_hooks.py` following the main.py decomposition.
Ensures deterministic plugin-first ordering after synchronous plugin discovery,
preserves hook-free contracts for early lifecycle exits (--status / --stop),
and includes real-path precedence test coverage.

Co-authored-by: NousResearch#61844 <contributor@nousresearch.com>
Co-authored-by: NousResearch#70461 <contributor@nousresearch.com>
Co-authored-by: NousResearch#69832 <contributor@nousresearch.com>
Co-authored-by: NousResearch#102513 <contributor@nousresearch.com>
Co-authored-by: NousResearch#81409 <contributor@nousresearch.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/config Config system, migrations, profiles comp/cli CLI entry point, hermes_cli/, setup wizard comp/desktop Electron desktop app (apps/desktop/*) duplicate This issue or pull request already exists P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Shell hooks from config.yaml never register in hermes serve (desktop backend) — _prepare_agent_startup skips the "serve" command

2 participants