From 1506c7dcd6032c04c1df6f5785b6dd3dfe4511cc Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 14 Sep 2026 10:56:21 +0200 Subject: krino: duplicates are found, never deleted 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. --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bd80c8..36b50e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ ## Unreleased +- Duplicates are found, never deleted. A rule combining `(duplicate)` with + `(delete)` or `(delete permanent)` is refused by `krino check` and every + run, and a file that is a duplicate under any duplicate scope its + directory's rules use gets no delete step from any rule. This replaces + 0.0.1's known limitation: duplicate conditions with different scopes can no + longer delete every copy of a group, only move copies aside. + ## 0.0.1 — 2026-09-13 - Per-directory rule files, a main file listing which directories run, and a -- cgit v1.3