feat(plugins): add runtime-backed Plugin Doctor - #82012
Merged
Merged
Conversation
Per review, docs/plugins.md was a parallel guide outside the published navigation. Its genuinely unique material moves into website/docs/developer-guide/plugins/index.md: the middleware registration surface (all four VALID_MIDDLEWARE kinds with contracts and chaining rules), the per-API-call request hooks, and the allow_tool_override operator grant (which also fixes pre-existing text implying override=True alone suffices for non-bundled plugins). Every migrated claim was re-verified against current main; stale material (deep-copy claim, approval-surface coverage, a hook that is not in VALID_HOOKS on main) was corrected or dropped rather than copied. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PnMCvi2vXqfs996AjVeF2F
Validate plugin manifests, imports, hook signatures, and runtime registrations through the real plugin loader in an isolated temporary home.
Contributor
૮ >ﻌ< ა ci reviewran on 16c20b9
|
Contributor
|
Salvage looks right to me, thanks for carrying it over with attribution. The folded guide content covers what #58538 was after, and doing Doctor as a real command against the actual runtime instead of a bundled plugin is the better call. Happy to close #58538 once this lands, and glad to keep feeding the author guide as the plugin contracts evolve. |
26 tasks
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.
Summary
Plugin authors can validate a plugin against Hermes’ real discovery, import, and registration runtime with
hermes plugins doctor, while the canonical author guide now documents the plugin contracts already available on current Hermes.This preserves the useful work from @zapabob and @webdevtodayjason without shipping a separate Doctor plugin, scaffold convention, or public testkit API.
Changes
hermes plugins doctor [path-or-id] [--ci]to the existing plugin command tree.register(ctx), hook registry, and tool registry.**kwargs, and declared-versus-registered tool/hook drift.HERMES_HOME, blocks direct Python socket connects as an accidental-network guard, and restores tool, module, and override-policy state.--ci; warnings remain diagnostic.hermes plugins newand a public installed-wheel testkit.Plugin Doctor executes plugin registration code in-process and is not a sandbox.
Validation
**kwargsreportedCloses #64230.
Infographic