hermes - 💡(How to fix) Fix [a2a_fleet] HIGH: remove invented disable() hook — loader never calls it, port leaks on reload

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Fix Action

Fix

Remove disable() and the stop path, or wire shutdown through a real declared hook.


Filed from opus-4.8 plugin audit (a2a_fleet).

RAW_BUFFERClick to expand / collapse

Severity: HIGH (convention — dead code, port leak)

disable() is dead code: the plugin loader never calls it, so the server is never gracefully stopped.

Evidence

  • plugins/a2a_fleet/__init__.py:116-119 — defines disable() expecting the loader to call it on shutdown/hot-reload; _stop_server_safe / _schedule_server_stop exist to support it.
  • hermes_cli/plugins.py — grep for .disable( returns zero calls; _load_plugin only ever calls register. Verified.

Impact

The stop path is unreachable. On plugin hot-reload the uvicorn port is never released → bind leak / A2AServerStartError on the next load.

Upstream convention violated

Rubric #2: the loader only calls register (and register_cli / declared hooks); plugins must not invent lifecycle hooks. Upstream google_meet wires teardown through a real declared hook (e.g. on_session_end).

Fix

Remove disable() and the stop path, or wire shutdown through a real declared hook.


Filed from opus-4.8 plugin audit (a2a_fleet).

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING