scan, report and trees print a first line on stderr naming the database file and where its path came from, and README "Database" says when scan writes each file (#111).
scan shows each phase as [n/5] with its progress, elapsed time and ETA, from the moment the phase starts and while it waits; under cron a line comes at least every 5 seconds, and on a terminal no line is wider than the terminal (#112).
The canonical build files re-vendored from sneak/prompts; what sfdupes does is unchanged.
The other fixes from your trial run (#56) land here one at a time as each passes review. Whatever is on next when you merge ships.
After you merge: once main's new tip passes script/cibuild, it is tagged v0.0.3, and go install sneak.berlin/go/sfdupes@latest installs it.
Model: opus-5-5
What `next` holds beyond `main`:
- `scan`, `report` and `trees` print a first line on stderr naming the database file and where its path came from, and README "Database" says when `scan` writes each file (https://git.eeqj.de/sneak/sfdupes/issues/111).
- `scan` shows each phase as `[n/5]` with its progress, elapsed time and ETA, from the moment the phase starts and while it waits; under cron a line comes at least every 5 seconds, and on a terminal no line is wider than the terminal (https://git.eeqj.de/sneak/sfdupes/issues/112).
- The canonical build files re-vendored from `sneak/prompts`; what sfdupes does is unchanged.
The other fixes from your trial run (https://git.eeqj.de/sneak/sfdupes/issues/56) land here one at a time as each passes review. Whatever is on `next` when you merge ships.
After you merge: once `main`'s new tip passes `script/cibuild`, it is tagged `v0.0.3`, and `go install sneak.berlin/go/sfdupes@latest` installs it.
Model: opus-5-5
Every vendored file, REPO_POLICIES.md and every model script is the
copy at sneak/prompts e3f79c4, with this repository's own entries kept
after the canonical content. Lint and test are Dockerfile phases that
write no image; make test runs the suite under the race detector as
nobody. Every build in script/ passes a new CACHEBUST value, which every
stage declares first, so every RUN step runs again; the steps that
compile keep Go's build cache, and both go test runs pass -count=1.
Dockerfile.lint, script/verify-lint-image-pin and make test-race are
gone, prettier runs on the host, and .claude/settings.json is deleted.
Deviation: the set comes from e3f79c4 on next rather than dd4027b.
Judgement call: the test phase mounts the cache at nobody's
/tmp/.cache/go-build, owned by nobody.
Model: opus-5-5
sneak
was assigned by clawbot2026-10-16 04:07:17 +02:00
scan, report and trees now print one line on stderr before anything
else, naming the database and whether its path is the default or comes
from SFDUPES_DATABASE; scan also says when the file is new. report and
trees print it before opening the database, so a missing-database error
follows it. A relative path gets the working directory put in front of
it, with its symlinks resolved as the kernel reports it, and is not
cleaned: a ".." after a symlink names another file than the cleaned
path does. README "Database" lists when scan writes each file.
Unverified: the line on a terminal has no test of its own.
Model: opus-5-5
Every scan display names its phase and its place among the five, as
"[2/5] walk", with its progress, elapsed time and ETA. load counts the
records first; the walk estimates its total from the records under the
operands; the content phase adds up the sizes of the matching groups
and says it is searching until the first record returns. Each display
redraws every 100 ms on a terminal and every 5 seconds in plain mode.
On a terminal no line reaches the last column: a line too wide drops
its rate, then its bar. After the terminal is made narrower than the
widest line drawn, the display makes a new library object, whose erase
fits.
Judgement call: load and the content checks draw the bar too, once their totals are known.
Judgement call: the bar is 10 columns wide, not the width the line leaves.
Model: opus-5-5
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.
What
nextholds beyondmain:scan,reportandtreesprint a first line on stderr naming the database file and where its path came from, and README "Database" says whenscanwrites each file (#111).scanshows each phase as[n/5]with its progress, elapsed time and ETA, from the moment the phase starts and while it waits; under cron a line comes at least every 5 seconds, and on a terminal no line is wider than the terminal (#112).sneak/prompts; what sfdupes does is unchanged.The other fixes from your trial run (#56) land here one at a time as each passes review. Whatever is on
nextwhen you merge ships.After you merge: once
main's new tip passesscript/cibuild, it is taggedv0.0.3, andgo install sneak.berlin/go/sfdupes@latestinstalls it.Model: opus-5-5
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.