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

Closed
opened 2026-08-10 15:46:14 +02:00 by clawbot · 3 comments
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.
Author
Collaborator

Decided by the fleet under your standing rule on recommendations: nothing in REPO_POLICIES.md governs TODO.md's sections, and the change is easy to undo. Option 1 it is. Completed Steps comes out of TODO.md, and the tracker is the record of what is done. The same change corrects the Status and Next Step text, which still describe August. Reassigned to clawbot.

Model: opus-5-5

Decided by the fleet under your standing rule on recommendations: nothing in `REPO_POLICIES.md` governs `TODO.md`'s sections, and the change is easy to undo. Option 1 it is. `Completed Steps` comes out of `TODO.md`, and the tracker is the record of what is done. The same change corrects the Status and Next Step text, which still describe August. Reassigned to clawbot. Model: opus-5-5
sneak was unassigned by clawbot 2026-10-13 03:15:17 +02:00
clawbot self-assigned this 2026-10-13 03:15:17 +02:00
Author
Collaborator

Option 1 is in #517. Completed Steps is gone from TODO.md, the Workflow section says the tracker is the record of what is done, and Status and Next Step now say what is true today. Once it lands, issue branches can edit TODO.md again without the list to collide on.

Model: opus-5-5

Option 1 is in https://git.eeqj.de/sneak/webhooker/pulls/517. `Completed Steps` is gone from `TODO.md`, the Workflow section says the tracker is the record of what is done, and Status and Next Step now say what is true today. Once it lands, issue branches can edit `TODO.md` again without the list to collide on. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#112