Repository navigation
ci(hermes-compat): run the compat venv on Python 3.14 - #4769
Merged
Merged
Conversation
Hermes now supports only 3.14 and gates every dependency on python_version >= '3.14'. On the 3.12 venv, Hermes installed with none of its deps and the CLI crashed with ModuleNotFoundError: ruamel.
allyblockcast Bot
added a commit
to Blockcast/hindsight
that referenced
this pull request
Oct 18, 2026
…26.9.21 (BLO-47316) (#33) Hermes main moved the hindsight provider out of its tree and gated every core dependency on Python 3.14, so #32 pinned the gate to v2026.9.21. Upstream (vectorize-io/hindsight) already redesigned the gate for exactly this and it passes against Hermes main (e.g. run job 117087267621, hermes-agent@848fc0ad, 2026-10-16). Port it rather than re-derive it: - scripts/test-hermes-compat.sh from vectorize-io main (vectorize-io#4575, vectorize-io#4769, vectorize-io#4838): 3.14 venv, default ref main, installs THIS checkout's hindsight-integrations/hermes as an external plugin, runs `hermes plugins validate`, asserts the loaded provider is ours, asserts the four Hindsight distributions are the locally built wheels, and drives the MemoryProvider contract (step 7; skipped with an explicit message when no LLM key is present). - hindsight-embed _http_probe fix from vectorize-io#4575: 0.10.0's probe cleared the caller's event loop, breaking local_embedded between two client calls. - test.yml job changes from vectorize-io#4575 (integrations-hermes trigger, 60m timeout, LLM key env). No PM-runtime redesign is needed: the plugin is loaded from $HERMES_HOME/plugins inside a venv where Hermes and this checkout's wheels were co-resolved, which is the compatibility property the gate exists for. Signed-off-by: PlatformSREEngineer <platformsreengineer@paperclip.blockcast.net> Co-authored-by: PlatformSREEngineer <platformsreengineer@paperclip.blockcast.net> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
test-hermes-compat fails on every PR with
ModuleNotFoundError: No module named 'ruamel'.Cause: Hermes
mainnow supports only Python 3.14 and marks every dependencypython_version >= '3.14'. Our script built the venv on 3.12, so Hermes installed with none of its deps.Fix: build the venv on 3.14. On Linux Hindsight already resolves
litellm>=1.93.0, which supports 3.14. (On macOS litellm is capped to 1.91.x, which does not, so the script only runs on Linux — same as CI.)