Twinned from https://github.com/cfsh/ninefold/issues/503 by tools/beads/import_github.py's reconcile pass.
Cost me two polluted PRs and a wrong diagnosis before I found it, so writing it down.
rebuild_f5.sh merges every open PR into f5/integration in the session's own working tree, then builds and runs the headless import. That import makes Godot generate .cs.uid sidecars for files that exist only on *other people's* branches. The script then switches back, and those generated files remain as untracked leftovers with no owning branch.
Any subsequent git add -A sweeps them into the session's next commit.
#485 (tests move next to the code they test) is open and paused. It renames games/*/tests/*.cs → games/*/X.Tests.cs. Every rebuild_f5.sh run merged it, imported, and left ~31 *.Tests.cs.uid files behind.
rebuild_f5.sh again, which regenerated them, and the next commit swept them into #501. Caught again, by him again.Two clean signals that would have saved all of it: git diff origin/main...HEAD --name-only before pushing, and not trusting gh pr diff (it served a cached pre-force-push diff at one point, showing 32 files when git said 1).
git clean -fd restricted to generated types (*.uid, .godot/) on return to the original branch would close it entirely. The script already knows it is doing something disruptive — it force-pushes a throwaway branch.The blanket git add -A is my habit and my fault; but the tool creating unowned artifacts in a shared checkout is what makes that habit expensive, and every dev session runs it after every merge.
Related: #465 (the same script cannot converge on a delete/modify conflict). Filed unclaimed.
None.
No comments.