mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-04-28 03:49:31 +00:00
Three distinct E2E bugs fixed: 1. SSH key generation race condition: When multiple agents provision in parallel, concurrent processes all call generateSshKey() and race to create ~/.ssh/id_ed25519. ssh-keygen won't overwrite an existing file (prompts on stdin which is "ignore"), causing zeroclaw/codex to fail with "SSH key generation failed". Fix: check if key already exists before generating, and re-check after a failed generation attempt. 2. Hetzner SSH key 409 uniqueness_error: The Hetzner API returns HTTP 409 with "SSH key not unique" when the same key content is registered under a different name. The hetznerApi() function throws on non-2xx before the error-parsing code runs, and the regex /already/ didn't match "not unique". Fix: catch 409 in ensureSshKey() and match against uniqueness_error/not unique/already patterns. 3. Hermes binary not found: The hermes install script (uv tool) creates the actual binary + venv at ~/.hermes/hermes-agent/venv/ with a symlink at ~/.local/bin/hermes. The tarball capture script only captured the symlink + ~/.local/share/, leaving a dangling symlink. Fix: include ~/.hermes/ in capture paths, add venv/bin to verify.sh PATH check, and update hermes launchCmd to include the venv PATH. Fixes #2304 Agent: code-health Co-authored-by: B <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| scripts | ||
| agents.json | ||
| digitalocean.pkr.hcl | ||