<feed xmlns='http://www.w3.org/2005/Atom'>
<title>remembering/tests/functional, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://euandre.org/git/remembering/atom?h=main</id>
<link rel='self' href='http://euandre.org/git/remembering/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://euandre.org/git/remembering/'/>
<updated>2026-06-12T12:19:28Z</updated>
<entry>
<title>Rewrite remembering in Go</title>
<updated>2026-06-12T12:19:28Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2026-06-12T12:19:28Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/remembering/commit/?id=46fd0362bce11d709e5efe6d540358533985d363'/>
<id>urn:sha1:46fd0362bce11d709e5efe6d540358533985d363</id>
<content type='text'>
The shell pipeline (sed | sort | tee | awk | sort | cut | "$@"
plus the cut | uniq | awk profile rewrite) becomes a single static
binary with the same observable behaviour, pinned by the original
ranking.sh, signals.sh and cli-opts.sh suites, now aimed at
remembering.bin:

- the profile keeps the exact on-disk format, COUNT profile TEXT,
  byte-sorted with new picks appended at 1 and offered-but-never-
  picked entries persisted at 0;
- the menu stays count-descending with byte-order ties, stdin
  alone defines what is offered, and duplicate profile lines sum
  for ranking but collapse to the highest count on rewrite, as
  sort | uniq -f1 did;
- the wrapped command's exit status is forwarded as-is (128+sig
  for signal deaths), its stderr passes through, and an empty pick
  learns nothing;
- the profile rewrite stays atomic via .tmp plus rename.

Per the house CLI conventions, -h/-V/--help/--version are gone
(the manpage is the documentation; bad options print the usage on
stderr and exit 2), and getopts-style attached option arguments
(-pNAME) are not accepted any more --- no script in the wild used
them.

The project layout follows rot: raw go tool compile/link Makefile,
mkdeps.sh-generated deps.mk, white-box unit suite, fuzz target
over the profile parse/serialize roundtrip, functional pick
roundtrip, a 1M-line ranking benchmark, and a single English
asciidoc manpage absorbing the old .5 page; the po4a/aux release
machinery goes away.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
