Files
agency-agents/scripts
Michael SitarzewskiandClaude Opus 5.5 a9feb4285f fix(install): skip a foreign destination symlink and keep going; replace our own
#916 stops cp from writing through a symlink at an agent's destination, which on
main overwrites whatever the link points at (verified: a user's file was replaced
by an agent). But it made one stray link fatal: under `set -e` the refusal aborted
the install at the first link, leaving a partial roster (57 of 279 in testing).
It also refused our own links, so re-installing without --link after a --link
install failed for every file (main fails there too, with "are the same file").

- A link into this clone ($REPO_ROOT) is ours: remove it and copy. That's the
  intended --link -> copy switch, and the clone's sources stay untouched.
- Any other link is skipped with a warning, recorded, and the install continues.
  The final summary lists what was not installed. A temp file carries the list so
  it survives the parallel installer's subshells.
- test-install.sh: #916's case now asserts skip-and-continue (sentinel intact,
  link left in place, the rest of the selection installs, summary reports it);
  new case for --link then copy (link replaced by a real file, source unchanged).
  65 passed, 0 failed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 17:33:47 -05:00
..