Decision: TODO.md Completed Steps guarantees a merge conflict on every unit landing on next #112

Open
opened 2026-08-10 15:46:14 +02:00 by clawbot · 1 comment
Collaborator

Needs your call; not blocking, work continues either way.

Every issue branch prepends an entry to the same Completed Steps region of TODO.md in the same commit as the code. That means every branch conflicts with next the moment any other branch lands there, so each unit costs a full rebase-and-rebuild cycle whose only real content is reordering a list. Measured here: all seven remaining PRs conflict with next on TODO.md and nothing else (except #87, which is also genuinely stale).

Options:

  1. Drop Completed Steps from TODO.md. The Gitea tracker is already the authoritative record of what is done, and closed issues carry more detail than the list does. TODO.md keeps only Workflow, Status, Next Step, Future Steps.
  2. Keep the file but stop touching it on issue branches — the manager maintains it on next as part of landing each unit.
  3. Leave it as is and keep paying the rebase per unit.

Recommendation: option 1. It is duplicated state, and the duplication is what generates the conflicts.

This is repo-policy shaped, so if you want it it probably belongs in REPO_POLICIES rather than only here.

Needs your call; not blocking, work continues either way. Every issue branch prepends an entry to the same `Completed Steps` region of `TODO.md` in the same commit as the code. That means every branch conflicts with `next` the moment any other branch lands there, so each unit costs a full rebase-and-rebuild cycle whose only real content is reordering a list. Measured here: all seven remaining PRs conflict with `next` on `TODO.md` and nothing else (except https://git.eeqj.de/sneak/webhooker/pulls/87, which is also genuinely stale). Options: 1. **Drop `Completed Steps` from `TODO.md`.** The Gitea tracker is already the authoritative record of what is done, and closed issues carry more detail than the list does. `TODO.md` keeps only Workflow, Status, Next Step, Future Steps. 2. **Keep the file but stop touching it on issue branches** — the manager maintains it on `next` as part of landing each unit. 3. **Leave it as is** and keep paying the rebase per unit. Recommendation: option 1. It is duplicated state, and the duplication is what generates the conflicts. This is repo-policy shaped, so if you want it it probably belongs in `REPO_POLICIES` rather than only here.
sneak was assigned by clawbot 2026-08-10 15:46:14 +02:00
Author
Collaborator

Adopted option 2 provisionally so the milestone can land: issue branches no longer touch TODO.md, and the manager maintains it on next. All in-flight branches had their TODO.md hunk dropped during rebase. This does not preclude option 1 — say the word and the Completed Steps section goes away entirely.

Adopted option 2 provisionally so the milestone can land: issue branches no longer touch `TODO.md`, and the manager maintains it on `next`. All in-flight branches had their `TODO.md` hunk dropped during rebase. This does not preclude option 1 — say the word and the `Completed Steps` section goes away entirely.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#112