Upstream 0.20.6 added snowballstemmer==3.1.1 (tool_search BM25
stemming) as a direct dependency; package.nix now lists it so
pythonRuntimeDepsCheck passes.
The same release removed the 'hermes version' subcommand; the
package-contents check now uses 'hermes --version' which still
prints 'Hermes Agent'.
Files: package.nix (add snowballstemmer), checks.nix (--version).
- relax setuptools==83.0.0 pin (nixpkgs ships 80.10.1) in postPatch
- set HERMES_NIX_BUILD=1: upstream setup.py refuses wheel builds without it
- disable slack-bolt 1.27.0 tests: crash at interpreter shutdown in sandbox
- package nemo-relay 0.6.0 from its manylinux abi3 wheel (not in nixpkgs)
The processpool executor tests assert specific signal exit codes that
differ inside the nix build sandbox. Same class of issue as the existing
sanic/cherrypy/pytest-services overrides.
Fixes#2
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Upstream removed minisweagent_path.py in favor of mini_swe_runner.py,
breaking the nightly-package-contents check. Accept either module name
in checks and ensure both are patched into pyproject.toml py-modules.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
litellm on PyPI has been reported as compromised. The upstream
hermes-agent v0.4.0 already dropped it from its dependencies.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
sanic 25.12.0 in nixpkgs has a flaky test_keep_alive_client_timeout
that fails in sandbox builds. Override the python package set to skip
sanic's tests — they're upstream's problem, not ours.
Cascade was: sanic → sanic-testing → slack-bolt → hermes-agent → all checks.
- Patch upstream pyproject.toml to include minisweagent_path in py-modules
- Copy mini-swe-agent/src/minisweagent into package for importability
- Add 3 nix checks: package-contents, cli-commands, doctor
- All binaries tested: hermes, hermes-agent, hermes-acp
- hermes gateway, config, status, claw migrate all verified working