mirror of
https://github.com/msitarzewski/agency-agents.git
synced 2026-09-03 16:50:50 +03:00
Re-lands the install.sh regression suite from #772 (reverted in #827) together with the guard change that makes it pass, so CI goes green in one step. Background. #825 made --path refuse more than one --tool, on #819's report that several tools sharing one destination clobber each other. That was right in spirit and over-broad in practice, and it was implemented without verifying the premise. Measured by installing one agent with every tool into a sandbox and comparing what landed: <division>-<slug>.md (raw copy) claude-code, copilot <slug>.md (converted) gemini-cli, opencode, qwen, zcode agency-<slug>/SKILL.md antigravity, osaurus Tools in the same group write identical filenames and silently overwrite each other (qwen + gemini-cli lose a file while both print [OK]). Tools in different groups coexist (claude-code + codex, claude-code + qwen). Every other tool's output is distinct. The guard now refuses --path only for a colliding pair, naming both tools and the reason, and allows the rest. path_collision_group() holds the measured table; re-measure if a converter's naming changes. The suite's two-tool --path cases used claude-code + copilot, which collide: the "installs exactly one agent" count of 1 was passing because copilot had overwritten claude-code's identical file. They now use claude-code + codex and assert that BOTH outputs survive, which a single count cannot show; a new case asserts the colliding pair is refused. codex has no committed output, so those cases convert (only the two raw-copiers work under --no-convert in a fresh checkout). Verified under bash 3.2 (the macOS CI leg): 29 passed, 0 failed, 1 xfail. Guard spot-checked against all three measured groups plus a cross-group pair. Suite, workflow and CONTRIBUTING note by @SergiorCode (#772). Refs #772 #819 #825 #827. Co-Authored-By: SergiorCode <SergiorCode@users.noreply.github.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>