Point TODO.md at the tracker and record landed work (closes #27) #28

Merged
clawbot merged 1 commits from todo-next-step-stale into main 2026-08-09 04:05:04 +02:00
Collaborator

Fixes the stale TODO.md Next Step described in #27. Docs-only: TODO.md is the only file touched.

Definition of done

  1. STRTA conversion moved into Completed Steps — new entry dated 2026-07-26 naming commit 3abeacf and #1, in the surrounding - item (DATE, ...): description shape. It lists the 12 script/ entrypoints (verified against git ls-files script/, so the entry names projectname, the real filename) and notes every Makefile target is now a thin shim.
  2. # Next Step points at the milestone — it now names https://git.eeqj.de/sneak/sfdupes/milestone/17 as the source of truth for what remains before 1.0.0, and states explicitly that individual issues are deliberately not restated here because a copy in the file drifts the moment the tracker moves.
  3. # Status notes tracker authority — keeps pre-1.0 and adds that the Gitea tracker is authoritative for the pre-1.0 backlog, and that this file records history and process, not the queue.
  4. # Workflow reconciled with reality — take an issue from the milestone (file one first if the work is not tracked), branch from main, implement with tests in small commits, record it in Completed Steps in the same commit as the work, push and open a PR titled ... (closes #N), pass an independent review with every finding addressed or explicitly rebutted, then merge. The old "move the top item of Future Steps into Next Step" step is gone; it no longer describes anything real.
  5. golangci entry records the merge — restated as (2026-08-09, branch golangci-v2.12.2, merged as 38a01bd, closes #3). The historical v2.12.1 -> v2.12.2 body text is unchanged; it is an accurate record of what that change did.
  6. Docs-onlygit diff --stat main..HEAD is TODO.md | 46 ++++---, 1 file changed, 32 insertions, 14 deletions. No code, config, script/, CI or build files.
  7. make check green.

Left untouched, as scoped: the # Future Steps section and the whole # Repo Policy Compliance section.

Verification

  • make check exits 0 (tests ok, 72.8% coverage; golangci-lint 0 issues; fmt-check clean).
  • make fmt produced no changes.
  • git diff --stat main..HEAD shows TODO.md as the only changed file.
  • Markdown was hand-wrapped to the file's existing ~70 columns; make fmt here is Go-only and does not format Markdown (#19), and adding Markdown tooling is out of scope for this issue.
Fixes the stale `TODO.md` Next Step described in #27. Docs-only: `TODO.md` is the only file touched. ## Definition of done 1. **STRTA conversion moved into Completed Steps** — new entry dated 2026-07-26 naming commit `3abeacf` and #1, in the surrounding `- item (DATE, ...): description` shape. It lists the 12 `script/` entrypoints (verified against `git ls-files script/`, so the entry names `projectname`, the real filename) and notes every Makefile target is now a thin shim. 2. **`# Next Step` points at the milestone** — it now names `https://git.eeqj.de/sneak/sfdupes/milestone/17` as the source of truth for what remains before 1.0.0, and states explicitly that individual issues are deliberately not restated here because a copy in the file drifts the moment the tracker moves. 3. **`# Status` notes tracker authority** — keeps `pre-1.0` and adds that the Gitea tracker is authoritative for the pre-1.0 backlog, and that this file records history and process, not the queue. 4. **`# Workflow` reconciled with reality** — take an issue from the milestone (file one first if the work is not tracked), branch from `main`, implement with tests in small commits, record it in Completed Steps in the same commit as the work, push and open a PR titled `... (closes #N)`, pass an independent review with every finding addressed or explicitly rebutted, then merge. The old "move the top item of Future Steps into Next Step" step is gone; it no longer describes anything real. 5. **golangci entry records the merge** — restated as `(2026-08-09, branch `golangci-v2.12.2`, merged as `38a01bd`, closes #3)`. The historical `v2.12.1` -> `v2.12.2` body text is unchanged; it is an accurate record of what that change did. 6. **Docs-only** — `git diff --stat main..HEAD` is `TODO.md | 46 ++++---`, 1 file changed, 32 insertions, 14 deletions. No code, config, `script/`, CI or build files. 7. **`make check` green.** Left untouched, as scoped: the `# Future Steps` section and the whole `# Repo Policy Compliance` section. ## Verification - `make check` exits 0 (tests `ok`, 72.8% coverage; `golangci-lint` 0 issues; `fmt-check` clean). - `make fmt` produced no changes. - `git diff --stat main..HEAD` shows `TODO.md` as the only changed file. - Markdown was hand-wrapped to the file's existing ~70 columns; `make fmt` here is Go-only and does not format Markdown (#19), and adding Markdown tooling is out of scope for this issue.
clawbot added 1 commit 2026-08-09 04:03:46 +02:00
Point TODO.md at the tracker and record landed work (closes #27)
All checks were successful
check / check (push) Successful in 2m20s
a7295750ef
The Next Step section still named the scripts-to-rule-them-all
conversion, which landed in 3abeacf on 2026-07-26 and closed #1
without recording itself in Completed Steps. TODO.md therefore
pointed the next contributor at finished work.

The backlog is no longer file-shaped: the Gitea tracker is
authoritative, with the open issues under the 1.0.0 milestone
defining what remains before the tag. Next Step now names the
milestone instead of restating a single issue that will drift, and
Status says so explicitly.

Workflow is reconciled with how work actually happens now: take an
issue, branch, implement with tests, record the result in the same
commit, open a PR titled "... (closes #N)", pass an independent
review, merge.

The scripts-to-rule-them-all conversion gains its missing Completed
Steps entry, and the golangci-lint entry now records its merge
commit 38a01bd and issue #3 rather than only the branch date.

Docs-only: TODO.md is the only file touched.
clawbot added the needs-review label 2026-08-09 04:03:49 +02:00
clawbot self-assigned this 2026-08-09 04:03:50 +02:00
Author
Collaborator

What I built

One commit, a729575, touching only TODO.md (+32 / -14).

  • # Workflow now describes the process actually in use: take an issue from the 1.0.0 milestone (file one first if the work is not tracked), branch from main, implement with tests in small focused commits, record the result at the top of Completed Steps in the same commit as the work, push and open a PR whose title ends with (closes #N), pass an independent review with every finding addressed or explicitly rebutted, then merge. The "move the top item of Future Steps into Next Step" step is gone — nothing has followed it since the tracker took over the queue.
  • # Status keeps pre-1.0 and adds that the Gitea tracker is authoritative for the pre-1.0 backlog, with the open 1.0.0 issues defining what is left before the tag, and that this file holds history and process rather than the queue.
  • # Next Step no longer restates a single issue. It points at https://git.eeqj.de/sneak/sfdupes/milestone/17 and says outright that individual issues are deliberately not copied here, since a copy drifts the moment the tracker moves. That is the property that broke last time.
  • # Completed Steps gains the missing scripts-to-rule-them-all entry, dated 2026-07-26, naming commit 3abeacf and #1, in the same - item (DATE, ...): description shape as its neighbours. It sits below the golangci entry, preserving newest-first order.
  • The golangci entry is restated as (2026-08-09, branch golangci-v2.12.2, merged as 38a01bd, closes #3) so it records the merge rather than only the branch date. Its body, including the v2.12.1 -> v2.12.2 history, is unchanged — that text is an accurate record of what the change did.

# Future Steps and the whole # Repo Policy Compliance section are untouched.

How I verified it

  • make check exits 0: tests ok sneak.berlin/go/sfdupes at 72.8% coverage, golangci-lint reports 0 issues., fmt-check clean. (The first attempt aborted with "parallel golangci-lint is running" from a concurrent job, not a finding; it passed on retry and again on a confirming run.)
  • make fmt produced no working-tree changes.
  • git diff --stat main..HEAD is exactly TODO.md | 46 ++++++++++++++++++++++++++++++++--------------, 1 file changed — no code, config, script/, CI or build files.
  • The 12 script/ entrypoints named in the new Completed Steps entry were checked against git ls-files script/ rather than assumed, which is why it says projectname (the actual filename) and not sfdupes. The "thin shim" claim was checked against the Makefile, whose standard targets all delegate to script/.
  • Markdown was hand-wrapped to the file's existing ~70 columns. make fmt in this repo is Go-only and does not format Markdown (tracked as #19); adding Markdown tooling is out of scope here, so no formatter was introduced.
## What I built One commit, `a729575`, touching only `TODO.md` (+32 / -14). - `# Workflow` now describes the process actually in use: take an issue from the `1.0.0` milestone (file one first if the work is not tracked), branch from `main`, implement with tests in small focused commits, record the result at the top of Completed Steps in the same commit as the work, push and open a PR whose title ends with ` (closes #N)`, pass an independent review with every finding addressed or explicitly rebutted, then merge. The "move the top item of Future Steps into Next Step" step is gone — nothing has followed it since the tracker took over the queue. - `# Status` keeps `pre-1.0` and adds that the Gitea tracker is authoritative for the pre-1.0 backlog, with the open `1.0.0` issues defining what is left before the tag, and that this file holds history and process rather than the queue. - `# Next Step` no longer restates a single issue. It points at `https://git.eeqj.de/sneak/sfdupes/milestone/17` and says outright that individual issues are deliberately not copied here, since a copy drifts the moment the tracker moves. That is the property that broke last time. - `# Completed Steps` gains the missing scripts-to-rule-them-all entry, dated 2026-07-26, naming commit `3abeacf` and #1, in the same `- item (DATE, ...): description` shape as its neighbours. It sits below the golangci entry, preserving newest-first order. - The golangci entry is restated as `(2026-08-09, branch `golangci-v2.12.2`, merged as `38a01bd`, closes #3)` so it records the merge rather than only the branch date. Its body, including the `v2.12.1` -> `v2.12.2` history, is unchanged — that text is an accurate record of what the change did. `# Future Steps` and the whole `# Repo Policy Compliance` section are untouched. ## How I verified it - `make check` exits 0: tests `ok sneak.berlin/go/sfdupes` at 72.8% coverage, `golangci-lint` reports `0 issues.`, `fmt-check` clean. (The first attempt aborted with "parallel golangci-lint is running" from a concurrent job, not a finding; it passed on retry and again on a confirming run.) - `make fmt` produced no working-tree changes. - `git diff --stat main..HEAD` is exactly `TODO.md | 46 ++++++++++++++++++++++++++++++++--------------`, 1 file changed — no code, config, `script/`, CI or build files. - The 12 `script/` entrypoints named in the new Completed Steps entry were checked against `git ls-files script/` rather than assumed, which is why it says `projectname` (the actual filename) and not `sfdupes`. The "thin shim" claim was checked against the `Makefile`, whose standard targets all delegate to `script/`. - Markdown was hand-wrapped to the file's existing ~70 columns. `make fmt` in this repo is Go-only and does not format Markdown (tracked as #19); adding Markdown tooling is out of scope here, so no formatter was introduced.
clawbot added merge-ready and removed needs-review labels 2026-08-09 04:04:53 +02:00
clawbot merged commit ce6d29dffb into main 2026-08-09 04:05:04 +02:00
clawbot deleted branch todo-next-step-stale 2026-08-09 04:05:04 +02:00
Author
Collaborator

Manager note — merged as ce6d29d.

Adversarial review deliberately skipped: this is a docs-only change and qualifies for the standing exception. Verified that claim rather than taking it on faith — git diff --stat main..a729575 reports exactly one file changed, TODO.md, +32/-14. No code, config, script, CI or build file is touched.

Checks before merge:

  • make check green on main after the merge — tests ok at 72.8% coverage, 0 issues. from the linter, fmt-check clean.
  • Commit author sneak <sneak@sneak.berlin>, no attribution trailers, no vendor mentions anywhere in the diff or message.
  • Commit and merge titles both end with (closes #27); #27 closed automatically.
  • Branch todo-next-step-stale deleted; origin now carries only main.

All seven definition-of-done items on #27 are met. The scaffold entry correctly names 3abeacf and #1 and lists all 12 entrypoints (checked against git ls-files script/, so projectname rather than the binary name), and the golangci entry now records 38a01bd and #3 rather than only a branch date.

The implementer flagged the AI-vendor line at README.md:19-20 and correctly declined to fix it as a drive-by. It is already tracked as #21, together with the missing Entrypoints section and the stale §Build text.

Next unit is #4 — guarantee the database closes on fatal exit paths. It goes first among the code issues because removing the os.Exit calls is what makes #5, #6 and #16 possible at all.

Manager note — merged as `ce6d29d`. Adversarial review deliberately skipped: this is a docs-only change and qualifies for the standing exception. Verified that claim rather than taking it on faith — `git diff --stat main..a729575` reports exactly one file changed, `TODO.md`, +32/-14. No code, config, script, CI or build file is touched. Checks before merge: - `make check` green on `main` after the merge — tests `ok` at 72.8% coverage, `0 issues.` from the linter, `fmt-check` clean. - Commit author `sneak <sneak@sneak.berlin>`, no attribution trailers, no vendor mentions anywhere in the diff or message. - Commit and merge titles both end with ` (closes #27)`; #27 closed automatically. - Branch `todo-next-step-stale` deleted; `origin` now carries only `main`. All seven definition-of-done items on #27 are met. The scaffold entry correctly names `3abeacf` and #1 and lists all 12 entrypoints (checked against `git ls-files script/`, so `projectname` rather than the binary name), and the golangci entry now records `38a01bd` and #3 rather than only a branch date. The implementer flagged the AI-vendor line at `README.md:19-20` and correctly declined to fix it as a drive-by. It is already tracked as #21, together with the missing Entrypoints section and the stale §Build text. Next unit is #4 — guarantee the database closes on fatal exit paths. It goes first among the code issues because removing the `os.Exit` calls is what makes #5, #6 and #16 possible at all.
Sign in to join this conversation.