Repository navigation
Support exact Herdr observation tools in Charon-Hermes 0.2.2 - #98
Merged
Merged
Conversation
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
Allow the 15 reviewed Herdr observation MCP tools to be explicitly selected in Charon-Hermes policy. Previously, Operation.create classified them as unknown and Policy rejected the names, preventing the approved observation adapters from loading.
Motivation and scope
Add a separate built-in external catalog for Mac, mule and dev, each with exactly ping, agent_list, agent_get, agent_read and agent_wait, all read. Operation creation and policy loading share classify_tool. The core inventory and its review digest, version 2 policy schema, recommended policy, Hermes upstream pin and gateway behavior remain unchanged. No wildcard matching, argument-based classification or trust in MCP annotations is introduced.
Bump the integration to 0.2.2. The existing release image contains the matching wheel at /opt/charon-hermes/wheels/charon_hermes-0.2.2-py3-none-any.whl; downstream builds must copy it from the same digest-pinned companion image. No new release mechanism or runtime dependency is needed.
Security impact
Documentation
Updated the integration README, versioned compatibility contract, tool-integration contract, integration boundaries and threat model. Documented opt-in policy generation/validation and the matching 0.2.2 wheel path. Relative Markdown file links pass.
Verification
mise run check, sequential with nice -n 10, including all 35 Hermes tests against the exact pinned upstream source.Risk and rollback
No Infra files, live services, session operations, production deployment or Charon gateway changes are included.
Published artifact verification
Merged main:
3ee8aeacff7074eed07670d5a8516859bde116b7. Main CI and Release run 40940132154 succeeded.ghcr.io/ak5/charon-hermes:sha-3ee8aeacff7074eed07670d5a8516859bde116b7@sha256:a09c81222d96079994ceaaddcef3d6319ceb446071b5fe5999918a3df6553e68sha256:00df2d3dbac625e076f62fc1c0d018c7ed603ea7f613e03c89bbc84ec8bd2192/opt/charon-hermes/wheels/charon_hermes-0.2.2-py3-none-any.whl1c26c46381390c1dcd3c32cbfe446bc28a0c18585f67e1812ccfc2667396f6edVerified GHCR manifest and layer digests, extracted the exact wheel from the published image, and confirmed byte-for-byte equality with the locally installed/tested wheel. Infra owns the downstream Hermes rebuild and rollout; this PR performed no live activation.