From ab3ae0e99bb5dcff8aee62a7130d443926109b16 Mon Sep 17 00:00:00 2001 From: Offending Commit Date: Thu, 30 Jul 2026 16:27:11 -0500 Subject: [PATCH] docs: require immutable plugin kit pins --- AGENTS.md | 3 +++ README.md | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 5a444a6..01fc035 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -29,6 +29,9 @@ plugin. `register_plugin` with an explicit receipt identity. Iterable registration must retain module registration's duplicate checks, deterministic ordering, skills, and `RegistrationSummary` contract. +- Consumer plugins must pin this package to an immutable commit, not a moving + branch. Profiles that install multiple plugins into one Python environment + must keep every consumer on the same kit revision. - Use `invoke_host_tool` for host-managed capabilities such as `send_message`; do not assume every Hermes capability is registered in `tools.registry`. Nested host calls must remain visible to `pre_tool_call` and `post_tool_call`. diff --git a/README.md b/README.md index 770355c..079a942 100644 --- a/README.md +++ b/README.md @@ -87,13 +87,15 @@ uv add git+https://github.com/offendingcommit/hermes-plugin-kit.git pip install git+https://github.com/offendingcommit/hermes-plugin-kit.git ``` -With uv, pin it as a source in your plugin's `pyproject.toml`: +With uv, pin it to an immutable commit in your plugin's `pyproject.toml`. +Profiles that load several plugins into one Python environment must keep every +plugin on the same kit revision: ```toml dependencies = ["hermes-plugin-kit"] [tool.uv.sources] -hermes-plugin-kit = { git = "https://github.com/offendingcommit/hermes-plugin-kit.git", branch = "main" } +hermes-plugin-kit = { git = "https://github.com/offendingcommit/hermes-plugin-kit.git", rev = "" } ``` ## Usage