From eb3a6287df02d9d251b2cad683d741016c2b4a20 Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Sun, 4 Oct 2026 17:04:25 +0300 Subject: [PATCH] fix(plugin): declare python_dependencies for PM-built environments Hermes Agent now assembles its runtime from PM dependency generations instead of the legacy in-tree venv, so every update produced a fresh environment without sqlite-vec and model2vec and the provider reported itself unavailable until they were reinstalled by hand. Declare both runtime dependencies in plugin.yaml with upper bounds per the Hermes dependency policy. PM reads the declaration of the active memory.provider plugin and includes the packages in every generation it builds, keeping the provider available across updates without manual intervention. Bump plugin metadata to 1.1.1, sync the AGENTS.org metadata table and layout notes, and fix a wording slip in Documentation/index.org. --- AGENTS.org | 4 ++-- Documentation/index.org | 4 ++-- plugin.yaml | 9 ++++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/AGENTS.org b/AGENTS.org index 35652a9..421bbdc 100644 --- a/AGENTS.org +++ b/AGENTS.org @@ -12,7 +12,7 @@ | Language | Python 3 (PEP 668 host — always use a venv, never system pip) | | Runtime deps | =model2vec=, =sqlite-vec= | | Embedding model | =minishlab/potion-multilingual-128M= (~540 MB, cached offline; the repo's unused ONNX export is skipped) | -| Plugin metadata | plugin.yaml (version 1.1.0) | +| Plugin metadata | plugin.yaml (version 1.1.1) | | Public docs site | https://www.svjatoslav.eu/projects/ (served from Documentation/) | * Purpose @@ -39,7 +39,7 @@ installer. #+begin_example retinue/ -├── plugin.yaml # Hermes plugin metadata (name, version, hooks) +├── plugin.yaml # Hermes plugin metadata (name, version, hooks, python_dependencies) ├── __init__.py # Plugin entry point: register(ctx) ├── src/retinue/ │ ├── __init__.py diff --git a/Documentation/index.org b/Documentation/index.org index 9136657..7932efb 100644 --- a/Documentation/index.org +++ b/Documentation/index.org @@ -31,8 +31,8 @@ not find a solution that: - Is lightweight (runs fast using CPU-only compute, with no need for a GPU) -It is built on =model2vec= static embeddings and =sqlite-vec=, so it -runs offline, requires no server, and stores everything in a single +Retinue is built on =model2vec= static embeddings and =sqlite-vec=, so +it runs offline, requires no server, and stores everything in a single SQLite database. diff --git a/plugin.yaml b/plugin.yaml index 5c63698..650776f 100644 --- a/plugin.yaml +++ b/plugin.yaml @@ -1,6 +1,13 @@ name: retinue -version: 1.1.0 +version: 1.1.1 description: "Semantic memory provider for Hermes Agent using model2vec and sqlite-vec." hooks: - sync_turn - shutdown +# Consumed by Hermes PM (pm/plugin_declarations.py) and `hermes plugins doctor`: +# every dependency generation (hermes update) is built WITH these packages, +# so Retinue's is_available() keeps passing after updates. Keep upper bounds +# per the Hermes dependency policy. +python_dependencies: + - "sqlite-vec>=0.1.9,<0.2" + - "model2vec>=0.9,<0.10" -- 2.20.1