hermes-agent/scripts
ethernet 2b2c1d9b3a fix(dev-sandbox): force-copy fixtures onto a persistent sandbox's root
A second (or later) invocation of a --persistent sandbox failed with:

    cp: cannot create regular file '.../root/certs/openssl.cnf': Permission denied

`DEV_SANDBOX_ASSETS` is a Nix store path when the sandbox is invoked via
the `sandbox` wrapper (nix/sandbox.nix sets it to a store-copied
scripts/sandbox/ directory), and Nix store files are always mode 0444.
Plain `cp SRC DEST` opens an existing DEST for writing in place rather
than replacing it, so once one sandbox run has copied a read-only
openssl.cnf/proxy.py into a --persistent root, every subsequent run on
that same root fails trying to overwrite its own prior copy.

This silently broke every multi-invocation --persistent scenario,
including tests/install/install-update-e2e.sh's update and installer
routes (both run `install` a second time in the same persistent root).
Reproduced identically on unmodified main.

Fix: `cp -f`, which unlinks and recreates the destination instead of
writing through it, so the destination's mode never matters. Verified
by running `sandbox install --persistent -- --skip-setup --skip-browser`
twice against the same root -- second run failed before this change,
passes after.
2026-08-05 04:15:29 -04:00
..
ci fix(runtime): resolve Hermes-managed Node and uv before bare PATH 2026-08-01 21:17:51 -04:00
lib fix(install): restore installs — engines floor no shipping toolchain can meet 2026-08-01 22:56:52 -05:00
observability fix(monitoring): drain terminal lifecycle events 2026-07-24 18:54:45 +00:00
sandbox feat(dev-sandbox): support fake installer / fake main / git clones 2026-08-04 17:36:26 -04:00
tests
whatsapp-bridge fix(whatsapp): guard bridge reconnect against hangs and unhandled rejections 2026-08-03 10:03:57 +05:30
LIVETEST_README.md
add_contributor.py fix(scripts): accept legacy consecutive-hyphen GitHub logins in add_contributor 2026-07-24 22:40:15 -07:00
analyze_livetest.py
audit_pr_attribution.py feat(ci): auto-fixable contributor attribution — audit_pr_attribution.py + gate points at it 2026-08-02 15:26:59 -07:00
benchmark_browser_eval.py
build_model_catalog.py
build_skills_index.py fix(skills-hub): include owner in ClawHub source URLs and add retry on 429 (#51236) 2026-07-31 22:33:11 -07:00
capture-cage-terminal.sh
check-windows-footguns.py fix(windows): sweep remaining bare read_text/write_text sites + linter rule 2026-07-24 17:10:39 -07:00
check_subprocess_stdin.py fix(windows): sweep remaining bare read_text/write_text sites + linter rule 2026-07-24 17:10:39 -07:00
contributor_audit.py chore: release v0.20.0 (2026.8.3) 2026-08-03 09:57:23 -07:00
dev-sandbox.sh fix(dev-sandbox): force-copy fixtures onto a persistent sandbox's root 2026-08-05 04:15:29 -04:00
discord-voice-doctor.py
docker_config_migrate.py refactor: config auto-migration support floor at v12 + deprecated shim retirement 2026-07-29 16:44:31 -07:00
docker_rebootstrap_nous_session.py
generate_conformance_vectors.py feat(conformance): vector generator — native renderers as executable spec (#71666) 2026-07-26 16:52:25 +10:00
hermes-gateway
install.cmd
install.ps1 fix(install): sync the lockfile engines mirrors with the manifests 2026-08-01 23:28:28 -05:00
install.sh fix(install): sync the lockfile engines mirrors with the manifests 2026-08-01 23:28:28 -05:00
install_psutil_android.py
iso-certify.py fix(windows): sweep remaining unguarded text-mode subprocess sites codebase-wide 2026-07-24 11:45:57 -07:00
keystroke_diagnostic.py
kill_modal.sh
lint_diff.py fix(windows): sweep remaining bare read_text/write_text sites + linter rule 2026-07-24 17:10:39 -07:00
micro_compaction_report.py feat(agent): report context occupancy, not just tokens saved 2026-07-31 17:44:19 +05:30
mock-inference-server.d.mts refactor(e2e): extract shared mock inference server 2026-08-05 00:49:56 -04:00
mock-inference-server.mjs refactor(e2e): extract shared mock inference server 2026-08-05 00:49:56 -04:00
profile-tui.py fix(windows): sweep remaining bare read_text/write_text sites + linter rule 2026-07-24 17:10:39 -07:00
release.py fix(credential-pool): clear exhaustion state on key rotation (#22622) 2026-08-04 11:35:06 -06:00
run_tests.sh fix(test-runner): native Windows venv probe + glyph-safe stdio 2026-07-29 21:30:53 -07:00
run_tests_parallel.py fix(test-runner): native Windows venv probe + glyph-safe stdio 2026-07-29 21:30:53 -07:00
sample_and_compress.py
smoke_nemo_relay_shared_metrics.py Merge updated model metrics into tool metrics 2026-07-31 07:18:02 -07:00
tool_search_livetest.py bench: Unreal-scale live benchmark — Epic's real 830 UE 5.8 schemas replayed (Opus 4.8) 2026-07-26 08:26:09 -07:00
tool_search_livetest2.py fix(lint): encode remaining write_text calls in the tool_search livetest harness 2026-07-26 11:54:03 -07:00
tool_search_livetest_ue.py fix(lint): explicit encoding on probe-file open in UE harness (PLW1514 + windows-footguns) 2026-07-26 08:26:09 -07:00
tool_search_livetest_ue_disc.py bench: discovery-bound suite — paraphrase/absence/survey tasks isolate the listing's structural advantage 2026-07-26 08:26:09 -07:00
tool_search_livetest_ue_hard.py bench: adversarial 830-tool gauntlet — confusion clusters, type-aware error mocks, strict scoring 2026-07-26 08:26:09 -07:00