hermes-agent/scripts
ethernet 651bd9890a fix(nix): review fixes — dangling-backslash wrapper bug, rebuild scope, dev venv split
Bug fixes:
- hermes-agent.nix: fold makeWrapper line continuations into the
  optionalStrings. When rev == null (dirty trees), the empty expansion
  left a dangling backslash that ended the command early and ran
  `--suffix PYTHONPATH ...` as its own shell command (exit 127).
  Clean trees passed CI; dirty trees with extraPythonPackages failed.
- nixosModules.nix: delete duplicated extraPlugins assertions block.
- nixosModules.nix: stop setting deprecated MESSAGING_CWD (which made
  the module trigger hermes' own startup deprecation warning); inject
  terminal.cwd into the generated config instead. cfg.settings wins
  via recursiveUpdate; container mode maps to the in-container path.

Rebuild scope:
- lib.nix: exclude flake.nix, flake.lock, root docs (AGENTS.md etc),
  and skills/ + optional-skills/ from pythonSrc — SKILL.md edits and
  flake tweaks no longer rebuild the Python venv. Skills ship solely
  via HERMES_BUNDLED_SKILLS / HERMES_OPTIONAL_SKILLS (same mechanism
  as Homebrew packaging). optional-mcps stays: pyproject lists its
  manifests as explicit data-files.
- hermes-agent.nix: symlink skills/plugins/locales/web_dist/ui-tui
  into $out instead of cp -r — the wrapper drv is near-instant when
  only the venv changed. checks.nix uses find -L through symlinks and
  gains optional-skills assertions.

Dev/release venv split:
- python.nix: venvName param; hermes-agent.nix builds hermesDevVenv
  ([all] + [dev]: pytest, ruff, ty, debugpy) alongside the release
  venv. The devShell hook exports HERMES_PYTHON pointing at the dev
  venv only (and now always, not just on stamp hits), so nix develop
  never pulls the release venv. Local uv fallback installs [all,dev].
- run_tests.sh: fall back to $HERMES_PYTHON when no local venv exists.

Cleanliness:
- callHermesArgs.nix: shared callPackage args imported + spread by
  packages.nix and overlays.nix (one place to add flake inputs).
- lib.nix: drop dead npmDepsSrc export; gate set -x behind DEBUG=1 in
  update-npm-lockfile / fix-lockfiles; comment why fix-lockfiles
  deliberately omits -e.
- hermes-agent.nix: filter __pycache__ from bundled skills.

Verified: nix flake check exit 0 (all 16 checks); built .#default,
.#tui, .#web; devshell closure contains only hermes-agent-dev-env;
run_tests.sh works via HERMES_PYTHON with no local venv.
2026-07-15 13:40:15 -04:00
..
lib fix(installer): symlink bundled node/npm into command bin dir for FHS root installs 2026-06-04 02:31:49 -07:00
tests fix(install.ps1): trim completion banner + strip em-dash in test 2026-05-16 22:55:12 -07:00
whatsapp-bridge Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
analyze_livetest.py test(tool-search): add live A/B harness, drop checked-in transcripts 2026-05-29 02:04:12 -07:00
benchmark_browser_eval.py perf(browser): route browser_console eval through supervisor's persistent CDP WS (180x faster) (#23226) 2026-05-10 07:37:55 -07:00
build_model_catalog.py codebase: add encoding='utf-8' to all bare open() calls (PLW1514) 2026-05-08 14:27:40 -07:00
build_skills_index.py fix(skills): pull full skills.sh catalog via sitemap (858 → 19,932) (#34025) 2026-05-28 11:28:12 -07:00
check-windows-footguns.py fix(scripts): fix UnicodeEncodeError in footgun checker on Windows 2026-05-16 23:05:27 -07:00
contributor_audit.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
discord-voice-doctor.py codebase: add encoding='utf-8' to all bare open() calls (PLW1514) 2026-05-08 14:27:40 -07:00
docker_config_migrate.py fix(docker): run config migrations during container boot (salvage #35508) (#36627) 2026-06-04 11:11:27 +10:00
hermes-gateway fix: prevent systemd restart storm on gateway connection failure 2026-03-21 09:26:39 -07:00
install.cmd docs(windows): avoid piping installer directly into iex 2026-05-18 20:05:47 -07:00
install.ps1 feat(installer): do shallow clones 2026-06-04 17:49:16 -07:00
install.sh feat(installer): do shallow clones 2026-06-04 17:49:16 -07:00
install_psutil_android.py fix(android): reject unsafe tar members in psutil compatibility installer 2026-05-28 02:36:09 -07:00
keystroke_diagnostic.py docs: add Windows-Specific Quirks section to hermes-agent skill + keystroke diagnostic 2026-05-08 14:27:40 -07:00
kill_modal.sh refactor: replace swe-rex with native Modal SDK for Modal backend (#3538) 2026-03-28 11:21:44 -07:00
lint_diff.py feat(ci): add typecheck (warnings only in CI) 2026-05-06 10:58:12 -04:00
LIVETEST_README.md test(tool-search): add live A/B harness, drop checked-in transcripts 2026-05-29 02:04:12 -07:00
profile-tui.py Merge remote-tracking branch 'origin/main' into fix/bundle-size 2026-05-11 16:01:04 -04:00
release.py chore: add dirtyren to AUTHOR_MAP for PR #38177 salvage 2026-06-04 17:42:10 -07:00
run_tests.sh fix(nix): review fixes — dangling-backslash wrapper bug, rebuild scope, dev venv split 2026-07-15 13:40:15 -04:00
run_tests_parallel.py ci(docker): run tests/docker/ in build-amd64 against the freshly-built image 2026-05-25 12:40:57 +10:00
sample_and_compress.py refactor: codebase-wide lint cleanup — unused imports, dead code, and inefficient patterns (#5821) 2026-04-07 10:25:31 -07:00
setup_open_webui.sh fix(install): use resolved python variable in setup_open_webui.sh 2026-05-16 22:54:22 -07:00
tool_search_livetest.py test(tool-search): redact secrets from harness transcripts + console 2026-05-29 02:04:12 -07:00