<feed xmlns='http://www.w3.org/2005/Atom'>
<title>krino.git/internal/plan/chain.go, branch v0.0.3</title>
<subtitle>rule-based file sorter in Go, shows the plan before touching anything, applies only the files you choose, and can undo any run, with s-expression rules and a GTK 4 window</subtitle>
<id>https://git.labunix.xyz/krino.git/atom?h=v0.0.3</id>
<link rel='self' href='https://git.labunix.xyz/krino.git/atom?h=v0.0.3'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/'/>
<updated>2026-09-14T08:56:21Z</updated>
<entry>
<title>krino: duplicates are found, never deleted</title>
<updated>2026-09-14T08:56:21Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-14T08:56:21Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=1506c7dcd6032c04c1df6f5785b6dd3dfe4511cc'/>
<id>urn:sha1:1506c7dcd6032c04c1df6f5785b6dd3dfe4511cc</id>
<content type='text'>
A rule combining (duplicate) with a delete action is refused at load, and a
file that is a duplicate under any duplicate scope its directory uses gets no
delete step from any rule: the plan shows it skipped and the chain continues.
A failed duplicate check blocks the delete too. Tests cover (matched), another
rule's own condition, a test evaluation skipped, two scopes and a failed
check, each checking every copy is still on disk.
</content>
</entry>
<entry>
<title>krino: planning — chains, placeholders, conflicts, JSON</title>
<updated>2026-09-12T10:58:14Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-12T10:58:14Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=24a84671ace373ae331fa83a1ff484990f4dff0e'/>
<id>urn:sha1:24a84671ace373ae331fa83a1ff484990f4dff0e</id>
<content type='text'>
</content>
</entry>
</feed>
