Repository navigation
fix(plugins): make bundled validation recognize hook declarations - #108386
Closed
fangliquanflq wants to merge 2 commits into
Closed
fangliquanflq wants to merge 2 commits into
fangliquanflq wants to merge 2 commits into
Conversation
This was referenced Sep 22, 2026
Collaborator
|
Thanks @fangliquanflq — both commits cherry-picked as-is; together with #97765 this resolves #108371. Salvaged into #118841 with your authorship preserved (merge 74f726c). Thank you! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Three bundled plugins declare registered runtime hooks under an unconsumed
hooksmanifest key, sohermes plugins validatereports those registrations as undeclared andhermes plugins doctoremits warnings. Five memory-provider manifests also use that inert key for provider lifecycle methods that are not hook registrations. This change renames the three real hook declarations toprovides_hooksand removes the five misleading lifecycle declarations.Trigger:
hermes_cli/plugins_manifest.py:477readsprovides_hooks, while the affected bundled manifests usehooks.Causal chain:
hookskey is ignored, leavingPluginManifest.provides_hooksempty.Working contrast: Bundled manifests that declare tools already use the consumed
provides_toolskey. The corresponding hook capability key isprovides_hooks.Ruled out: The runtime hook registrations are not missing. Validation observes them and reports them specifically because their manifest declarations were not parsed.
Related Issue
Closes #108371
Type of Change
Changes Made
hookstoprovides_hooksfor disk-cleanup, Google Meet, and Langfuse, preserving their registered hook values.hooksdeclarations from five memory-provider manifests whose values name provider lifecycle methods rather than registered hooks.plugins/security-guidance/plugin.yamlto its existing dedicated PR.How to Test
validate_plugin_dir; all eight pass.Result: 18 tests passed.
Checklist
Code
Documentation & Housekeeping