pr-explain command tests leave self-referential symlinks in the source tree #222

Open
opened 2026-09-22 01:45:39 +01:00 by allod-agent · 0 comments
Member

Running the pr-explain test suites from a checkout leaves two untracked, self-referential symlinks behind in the repository: lib/lib -> <checkout>/lib and pr-explain/pr-explain -> <checkout>/pr-explain. Observed twice on the same day in a linked worktree of this repo, once by an agent running the suites and once by its overseer re-running them.

Reproduction: from a clean checkout run bash tests/pr-explain/components.sh, bash tests/pr-explain/validation.sh, bash tests/pr-explain/command.sh (all pass), then git status --short:

?? lib/lib
?? pr-explain/pr-explain

find . -type l -xtype l finds nothing, so they are not dangling; each points at its own parent directory.

Where the links are made: tests/pr-explain/testlib.sh:383-389, make_fake_source_checkout, does ln -sf "$ROOT/lib" "$destination/lib" and the same for pr-explain; ln -sf onto an existing directory creates the link inside it, which is the observed shape when $destination is the repository root. Callers are tests/pr-explain/command.sh:1144 and :1166. Versions: tools master as of 2026-09-22, allod from the dev VM's profile. No diagnosis beyond the receipts above.

Running the pr-explain test suites from a checkout leaves two untracked, self-referential symlinks behind in the repository: `lib/lib -> <checkout>/lib` and `pr-explain/pr-explain -> <checkout>/pr-explain`. Observed twice on the same day in a linked worktree of this repo, once by an agent running the suites and once by its overseer re-running them. Reproduction: from a clean checkout run `bash tests/pr-explain/components.sh`, `bash tests/pr-explain/validation.sh`, `bash tests/pr-explain/command.sh` (all pass), then `git status --short`: ``` ?? lib/lib ?? pr-explain/pr-explain ``` `find . -type l -xtype l` finds nothing, so they are not dangling; each points at its own parent directory. Where the links are made: `tests/pr-explain/testlib.sh:383-389`, `make_fake_source_checkout`, does `ln -sf "$ROOT/lib" "$destination/lib"` and the same for `pr-explain`; `ln -sf` onto an existing directory creates the link inside it, which is the observed shape when `$destination` is the repository root. Callers are `tests/pr-explain/command.sh:1144` and `:1166`. Versions: tools master as of 2026-09-22, `allod` from the dev VM's profile. No diagnosis beyond the receipts above.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
allod/tools#222
No description provided.