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>
`toString` converts a Nix path to a string without registering it as a
build input, causing "custom skill source not found" errors in the Nix
sandbox. String interpolation properly copies the path to the store.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
copytree makes files read-only in Nix sandbox; rglob("DESCRIPTION.md")
then tries to overwrite skill-level copies → PermissionError. chmod
0o644 before copy2 to handle already-existing read-only targets.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When bundled.include is set to a non-empty list, only the listed skills
are installed from the upstream bundled skills directory. When empty
(default), all bundled skills are installed (existing behavior).
Invalid include paths cause a build error with available skills listed.
DESCRIPTION.md files are only copied for categories that have at least
one included skill.
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