Every PR adds an entry at the top of Completed Steps in TODO.md, so each merge to next left the other open PRs conflicting there (#190).
A root .gitattributes, copied from sneak/prompts, marks TODO.md with merge=union: when two branches insert at the same place, git keeps the lines of both. The TODO.md Workflow gains one line: read the merged entries after every merge or rebase.
What the diff does not show:
Git never reports a TODO.md conflict; a real one keeps both versions.
Two new entries that share an identical line can end up one inside the other; a rebase can do this to an entry already on next.
A rebased entry lands below every entry that reached next after its branch was cut, not on top.
Checks, in a scratch clone, two branches cut from this PR head each adding a different entry at the top of Completed Steps:
git merge-tree --write-tree: no conflict, both entries kept.
git merge: no conflict, both entries kept.
Disclosures:
Judgement call: .gitattributes is git config like .gitignore, which REPO_POLICIES.md allows in the root, and only a root one covers TODO.md; REPO_POLICIES.md is unchanged.
Not known: whether Gitea's own conflict check applies the attribute. Git 2.53 applied it in a bare repository only when the branches' common ancestor had .gitattributes, so PRs opened before this lands may show as conflicting until rebased once; that rebase needs no hand edits in TODO.md.
README.md does not describe this workflow, so it is unchanged.
Model: opus-5-5
Every PR adds an entry at the top of Completed Steps in `TODO.md`, so each merge to `next` left the other open PRs conflicting there (https://git.eeqj.de/sneak/pixa/issues/190).
A root `.gitattributes`, copied from `sneak/prompts`, marks `TODO.md` with `merge=union`: when two branches insert at the same place, git keeps the lines of both. The `TODO.md` Workflow gains one line: read the merged entries after every merge or rebase.
What the diff does not show:
- Git never reports a `TODO.md` conflict; a real one keeps both versions.
- Two new entries that share an identical line can end up one inside the other; a rebase can do this to an entry already on `next`.
- A rebased entry lands below every entry that reached `next` after its branch was cut, not on top.
Checks, in a scratch clone, two branches cut from this PR head each adding a different entry at the top of Completed Steps:
- `git merge-tree --write-tree`: no conflict, both entries kept.
- `git merge`: no conflict, both entries kept.
Disclosures:
- Judgement call: `.gitattributes` is git config like `.gitignore`, which `REPO_POLICIES.md` allows in the root, and only a root one covers `TODO.md`; `REPO_POLICIES.md` is unchanged.
- Not known: whether Gitea's own conflict check applies the attribute. Git 2.53 applied it in a bare repository only when the branches' common ancestor had `.gitattributes`, so PRs opened before this lands may show as conflicting until rebased once; that rebase needs no hand edits in `TODO.md`.
- `README.md` does not describe this workflow, so it is unchanged.
Model: opus-5-5
Every PR adds an entry at the top of Completed Steps in TODO.md, so each
merge to next left the other open PRs conflicting there. A root
.gitattributes, copied from sneak/prompts, marks TODO.md merge=union: two
branches that each add an entry at the same place merge without a conflict
and keep both. Git then never reports a conflict in TODO.md, so the
Workflow now says to read the merged entries after every merge or rebase.
Model: opus-5-5
PASS98652d3cec6e9b53ad2a6e491dcbde56b31a5cf3, rebased onto next at 04093f53ad86efe672952ffe9423657a5eed7bff.
Deviation: compared .gitattributes with the copy on sneak/promptsnext, since main there has none yet.
Model: opus-5-5
**PASS** `98652d3cec6e9b53ad2a6e491dcbde56b31a5cf3`, rebased onto `next` at `04093f53ad86efe672952ffe9423657a5eed7bff`.
Deviation: compared `.gitattributes` with the copy on `sneak/prompts` `next`, since `main` there has none yet.
Model: opus-5-5
clawbot
merged commit f8c437b83f into next2026-10-04 17:58:42 +02:00
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 PR adds an entry at the top of Completed Steps in
TODO.md, so each merge tonextleft the other open PRs conflicting there (#190).A root
.gitattributes, copied fromsneak/prompts, marksTODO.mdwithmerge=union: when two branches insert at the same place, git keeps the lines of both. TheTODO.mdWorkflow gains one line: read the merged entries after every merge or rebase.What the diff does not show:
TODO.mdconflict; a real one keeps both versions.next.nextafter its branch was cut, not on top.Checks, in a scratch clone, two branches cut from this PR head each adding a different entry at the top of Completed Steps:
git merge-tree --write-tree: no conflict, both entries kept.git merge: no conflict, both entries kept.Disclosures:
.gitattributesis git config like.gitignore, whichREPO_POLICIES.mdallows in the root, and only a root one coversTODO.md;REPO_POLICIES.mdis unchanged..gitattributes, so PRs opened before this lands may show as conflicting until rebased once; that rebase needs no hand edits inTODO.md.README.mddoes not describe this workflow, so it is unchanged.Model: opus-5-5
PASS
98652d3cec6e9b53ad2a6e491dcbde56b31a5cf3, rebased ontonextat04093f53ad86efe672952ffe9423657a5eed7bff.Deviation: compared
.gitattributeswith the copy onsneak/promptsnext, sincemainthere has none yet.Model: opus-5-5