Rewrite the stale TODO tracking in README.md and TODO.md to match reality #76

Open
opened 2026-08-09 03:42:37 +02:00 by clawbot · 0 comments
Collaborator

Context

Policy: "TODO: Update meticulously, even between commits."

Both tracking documents are substantially wrong, and in the most damaging
direction: they list work as outstanding that is already done, which means
anyone picking the repo up wastes time re-investigating finished work.

Items listed as open in README.md / TODO.md that are already done:

  • "Delete internal/scanner/ and internal/checker/" — those directories
    do not exist. The CLI already uses mfer.NewScannerWithOptions and
    mfer.NewChecker.
  • "Add decompression size limit via io.LimitReader" — done at
    mfer/deserialize.go:121-126, bounded by MaxDecompressedSize.
  • "Fix errors.Is dead code in checker" — mfer/checker.go:321 already
    correctly matches os.ErrNotExist / afero.ErrFileNotFound.
  • "Fix AddFile to verify size" — done at mfer/builder.go:173-177.
  • "Add deterministic file ordering in Builder.Build()" — done at
    mfer/builder.go:285-287, with tests.
  • "Kebab-case primary flag names" — all primary flag names already are.
  • "Rate-limit Checker progress output" — done at mfer/checker.go:222-241.
  • "Wire top-level --version properly" — mfer --version already prints
    mfer version 0.1.0. (A separate -v collision bug is real and tracked
    in #64, but that is not what the TODO says.)
  • "Add .golangci.yml" and "Add .gitea/workflows/check.yml" — both done.

TODO.md's "Next Step" is entirely stale. It instructs the reader to
land the in-flight chore/align-repo-policies branch. That branch does not
exist locally or on the remote, and commit 7d9a138 is not present in the
repository at all. Its content was superseded by #56, #58, and #59. Nothing
is left to salvage.

There is also a structural problem: policy wants the TODO in the README, but
the repo has both a README TODO section and a separate root TODO.md, and
they have drifted from each other as well as from the code.

Definition of done

  • Every item verified above as complete is removed from both documents.
  • TODO.md's "Next Step" no longer references chore/align-repo-policies.
    The Completed Steps entry for 2026-07-03 is corrected to record that the
    branch was superseded and dropped, so the history is not silently
    rewritten.
  • The remaining open work in both documents is replaced by references to the
    tracker issues that now own it (#60-#83), rather than a second, divergent
    copy of the backlog. The Gitea tracker is authoritative; the README should
    point at it, not duplicate it.
  • The duplication between README.md's TODO section and root TODO.md is
    resolved one way or the other, and the choice is stated in the commit
    message.
  • The 14 owner design questions currently inlined in the README are moved to
    or referenced from their tracker issues (#81, #82, #83) so answers land in
    one place.
  • make check passes.

Implementation requirements

  • Verify each claim above yourself before deleting the corresponding line.
    Do not take this issue's word for it — the whole point is that the
    document being fixed was trusted and wrong.
  • Do not delete open items you cannot verify are done. If something is
    ambiguous, leave it and note the ambiguity.
  • Run make fmt so the markdown matches the repo's formatting settings.
  • This change touches only README.md and TODO.md. If you find yourself
    editing code, stop — that belongs in the issue that owns it.
  • Commit title must end with (closes #76).
## Context Policy: "**TODO**: Update meticulously, even between commits." Both tracking documents are substantially wrong, and in the most damaging direction: they list work as outstanding that is already done, which means anyone picking the repo up wastes time re-investigating finished work. **Items listed as open in `README.md` / `TODO.md` that are already done:** - "Delete `internal/scanner/` and `internal/checker/`" — those directories do not exist. The CLI already uses `mfer.NewScannerWithOptions` and `mfer.NewChecker`. - "Add decompression size limit via `io.LimitReader`" — done at `mfer/deserialize.go:121-126`, bounded by `MaxDecompressedSize`. - "Fix `errors.Is` dead code in checker" — `mfer/checker.go:321` already correctly matches `os.ErrNotExist` / `afero.ErrFileNotFound`. - "Fix `AddFile` to verify size" — done at `mfer/builder.go:173-177`. - "Add deterministic file ordering in `Builder.Build()`" — done at `mfer/builder.go:285-287`, with tests. - "Kebab-case primary flag names" — all primary flag names already are. - "Rate-limit Checker progress output" — done at `mfer/checker.go:222-241`. - "Wire top-level `--version` properly" — `mfer --version` already prints `mfer version 0.1.0`. (A separate `-v` collision bug is real and tracked in #64, but that is not what the TODO says.) - "Add `.golangci.yml`" and "Add `.gitea/workflows/check.yml`" — both done. **`TODO.md`'s "Next Step" is entirely stale.** It instructs the reader to land the in-flight `chore/align-repo-policies` branch. That branch does not exist locally or on the remote, and commit `7d9a138` is not present in the repository at all. Its content was superseded by #56, #58, and #59. Nothing is left to salvage. There is also a structural problem: policy wants the TODO in the README, but the repo has both a README TODO section and a separate root `TODO.md`, and they have drifted from each other as well as from the code. ## Definition of done - Every item verified above as complete is removed from both documents. - `TODO.md`'s "Next Step" no longer references `chore/align-repo-policies`. The Completed Steps entry for 2026-07-03 is corrected to record that the branch was superseded and dropped, so the history is not silently rewritten. - The remaining open work in both documents is replaced by references to the tracker issues that now own it (#60-#83), rather than a second, divergent copy of the backlog. The Gitea tracker is authoritative; the README should point at it, not duplicate it. - The duplication between `README.md`'s TODO section and root `TODO.md` is resolved one way or the other, and the choice is stated in the commit message. - The 14 owner design questions currently inlined in the README are moved to or referenced from their tracker issues (#81, #82, #83) so answers land in one place. - `make check` passes. ## Implementation requirements - Verify each claim above yourself before deleting the corresponding line. Do not take this issue's word for it — the whole point is that the document being fixed was trusted and wrong. - Do not delete open items you cannot verify are done. If something is ambiguous, leave it and note the ambiguity. - Run `make fmt` so the markdown matches the repo's formatting settings. - This change touches only `README.md` and `TODO.md`. If you find yourself editing code, stop — that belongs in the issue that owns it. - Commit title must end with ` (closes #76)`.
clawbot added this to the 1.0.0 milestone 2026-08-09 03:42:37 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/mfer#76