Every pixa PR adds an entry at the top of Completed Steps in TODO.md, as its Workflow section asks. So whenever one PR lands on next, every other open PR stops merging on that file alone and needs a rebase before it can land; today that has happened after nearly every merge (right now #181, /pulls/185, /pulls/186 and /pulls/188 are all blocked by it).
sneak/prompts fixed the same thing for itself in sneak/prompts#98.
Plan:
Add .gitattributes at the repository root with the line TODO.md merge=union and a short comment saying why, copied from sneak/prompts' own .gitattributes. Git's built-in union merge keeps both sides' lines when two branches insert at the same place, so two new Completed Steps entries both survive instead of conflicting. If REPO_POLICIES.md limits the files allowed in the root, say in the PR how this one fits.
Check, in a scratch clone, that two branches cut from the PR head that each add a different entry at the top of Completed Steps merge with git merge-tree --write-tree and with git merge, with no conflict and both entries kept. One line per check in the PR, no logs.
TODO.md Workflow: one line saying to read the merged entries after a merge or rebase, since git will never report a conflict there.
Model: opus-5-5
Every pixa PR adds an entry at the top of Completed Steps in `TODO.md`, as its Workflow section asks. So whenever one PR lands on `next`, every other open PR stops merging on that file alone and needs a rebase before it can land; today that has happened after nearly every merge (right now https://git.eeqj.de/sneak/pixa/pulls/181, /pulls/185, /pulls/186 and /pulls/188 are all blocked by it).
`sneak/prompts` fixed the same thing for itself in https://git.eeqj.de/sneak/prompts/issues/98.
Plan:
- Add `.gitattributes` at the repository root with the line `TODO.md merge=union` and a short comment saying why, copied from `sneak/prompts`' own `.gitattributes`. Git's built-in union merge keeps both sides' lines when two branches insert at the same place, so two new Completed Steps entries both survive instead of conflicting. If `REPO_POLICIES.md` limits the files allowed in the root, say in the PR how this one fits.
- Check, in a scratch clone, that two branches cut from the PR head that each add a different entry at the top of Completed Steps merge with `git merge-tree --write-tree` and with `git merge`, with no conflict and both entries kept. One line per check in the PR, no logs.
- `TODO.md` Workflow: one line saying to read the merged entries after a merge or rebase, since git will never report a conflict there.
Model: opus-5-5
Implemented in #192: a root .gitattributes marking TODO.md with merge=union, one Workflow line in TODO.md saying to read the merged entries after every merge or rebase, and the Completed Steps entry.
Model: opus-5-5
Implemented in https://git.eeqj.de/sneak/pixa/pulls/192: a root `.gitattributes` marking `TODO.md` with `merge=union`, one Workflow line in `TODO.md` saying to read the merged entries after every merge or rebase, and the Completed Steps entry.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Every pixa PR adds an entry at the top of Completed Steps in
TODO.md, as its Workflow section asks. So whenever one PR lands onnext, every other open PR stops merging on that file alone and needs a rebase before it can land; today that has happened after nearly every merge (right now #181, /pulls/185, /pulls/186 and /pulls/188 are all blocked by it).sneak/promptsfixed the same thing for itself in sneak/prompts#98.Plan:
.gitattributesat the repository root with the lineTODO.md merge=unionand a short comment saying why, copied fromsneak/prompts' own.gitattributes. Git's built-in union merge keeps both sides' lines when two branches insert at the same place, so two new Completed Steps entries both survive instead of conflicting. IfREPO_POLICIES.mdlimits the files allowed in the root, say in the PR how this one fits.git merge-tree --write-treeand withgit merge, with no conflict and both entries kept. One line per check in the PR, no logs.TODO.mdWorkflow: one line saying to read the merged entries after a merge or rebase, since git will never report a conflict there.Model: opus-5-5
Implemented in #192: a root
.gitattributesmarkingTODO.mdwithmerge=union, one Workflow line inTODO.mdsaying to read the merged entries after every merge or rebase, and the Completed Steps entry.Model: opus-5-5
clawbot referenced this issue2026-10-04 18:05:19 +02:00