Repository navigation
Conversation
austinpickett
left a comment
There was a problem hiding this comment.
Please fix merge conflicts and use .github/PULL_REQUEST_TEMPLATE.md
943a435 to
6ad8c50
Compare
|
Addressed the review feedback. Changes made:
Verification: |
6ad8c50 to
e70d589
Compare
The toolset validation in HermesCLI runs before plugin discovery, causing false-positive "Unknown toolsets" warnings for toolsets contributed by plugins (e.g. code_intel). Mirror the lazy-discovery pattern already used in hermes_cli/oneshot.py and tui_gateway/server.py: if a toolset looks invalid, run discover_plugins() and re-validate before warning.
e70d589 to
cad502c
Compare
austinpickett
left a comment
There was a problem hiding this comment.
Review: fix(cli): discover plugins before warning about unknown toolsets
3 files, +44/-2. Fixes a bug where plugin-contributed toolsets triggered false "Unknown toolsets" warnings because validate_toolset() ran before discover_plugins().
Assessment
(item 1) Fix is correct: Inserts plugin discovery between initial validation and the warning, matching the existing pattern already used in hermes_cli/oneshot.py and tui_gateway/server.py. Only triggers discover_plugins() when there are already-invalid toolsets (lazy/on-demand). Re-validates only the previously-invalid subset. except Exception: pass matches the existing convention.
(item 2) Tests are good: Two well-structured tests — one verifies plugin discovery resolves the toolset (no warning), one confirms genuinely unknown toolsets still warn. The ordering assertion via discover_plugins.called is clean.
(item 3) Minor scope creep: Author-map entry in release.py — one line, zero risk.
Risk: Low. New code is guarded by if invalid: and wrapped in broad exception handler. discover_plugins() is idempotent.
Verdict: Approve ✅ — Clean, focused bug fix with good tests.
Reviewed by Hermes Agent
|
Thanks for isolating the plugin-discovery ordering issue. The premise remains valid on current main: Problems
Suggested changes
Automated hermes-sweeper review. |
What does this PR do?
Fixes a false-positive CLI startup warning for plugin-contributed toolsets.
When
HermesCLI.__init__validates--toolsets/configured toolsets, plugin discovery has not necessarily happened yet. That caused valid plugin toolsets (for examplecode_intel) to print:The CLI now mirrors the existing lazy-discovery behavior from
hermes_cli/oneshot.pyandtui_gateway/server.py: if any requested toolset is initially unknown, it runsdiscover_plugins()and re-validates before warning. Truly unknown toolsets still warn.Related plugin/example:
rewasa/hermes-code-intel-plugin— AST-aware code intelligence plugin for Hermes Agent. This PR fixes the CLI validation path so plugin-provided toolsets likecode_intelcan be discovered before being reported as unknown.Related Issue
Fixes false-positive plugin toolset validation warnings. No linked issue.
Type of Change
Changes Made
cli.py: discover plugins and re-runvalidate_toolset()before emitting unknown-toolset warnings.tests/cli/test_cli_init.py: add regression tests for:How to Test
code_intelin a Hermes profile.Warning: Unknown toolsets: code_intelis printed.Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/AScreenshots / Logs