Twinned from https://github.com/cfsh/ninefold/issues/1072 by tools/beads/import_github.py's reconcile pass.
Hit while rebasing/pushing #1060 (design 011 T1), unrelated to that PR's own content.
./tools/pr/rebuild_f5.py conflicts on every single invocation, reproducibly:
``` CONFLICT (file location): tools/probes/explore-pause.json added in origin/feat/explore-pause-menu inside a directory that was renamed in HEAD, suggesting it should perhaps be moved to games/tonapse/probes/explore-pause.json. ```
#1069 (feat/explore-pause-menu) adds tools/probes/explore-pause.json on a branch cut before
design 010 T7 (games/<name>/probes/ corpus move, merged to main in #1015). Git's rename-heuristic
guesses the wrong destination directory (games/tonapse/probes/ — a different game); the correct
one, matching the file's own content and the sibling games/explore/probes/explore-walk.json
already in that PR, is games/explore/probes/explore-pause.json.
The fix itself is a 30-second `git show <ref>:<old-path> > <new-path> && git add && git rm
<wrong-path>, done three times in this session — but it **never sticks**: rebuild_f5.py` rebuilds
f5/integration from scratch on every run (notes/f5.md's documented behaviour), and git rerere
does not cache "file location" conflicts the way it caches textual ones (confirmed: the identical
conflict reappeared, byte-for-byte, on three consecutive runs after three consecutive
resolve-and-commit cycles). notes/f5.md documents an escape valve for the *delete/modify* conflict
class ("A delete/modify conflict SKIPS the branch, loudly (#465)") but has nothing for this
add-inside-a-renamed-directory class — every session that runs rebuild_f5.py while #1069 is open
pays this exact conflict cold, with no way to make the fix durable short of #1069 itself merging or
being rebased past the T7 rename.
Filed unclaimed — not blocking my chunk (design 011 T1, #1060 was rebased and pushed fine
regardless; f5/integration is a convenience test-drive branch, not a merge gate). Options, for
whoever picks this up: (a) rebuild_f5.py could special-case "file location" conflicts the same way
it already special-cases delete/modify (skip the branch, name it loudly, retry once either PR moves);
(b) simplest immediate fix is just rebasing #1069 past the T7 merge on main, which removes the
conflict at the source.
None.
No comments.