diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/design.md | 25 | ||||
| -rw-r--r-- | docs/gui-checklist.md | 2 | ||||
| -rw-r--r-- | docs/gui-design.md | 12 |
3 files changed, 15 insertions, 24 deletions
diff --git a/docs/design.md b/docs/design.md index a7584e6..a3356c7 100644 --- a/docs/design.md +++ b/docs/design.md @@ -1,20 +1,9 @@ # krino design -Status: describes krino 0.0.1, 2026-09-13; amended 2026-09-14 for 0.0.2: -duplicates are never deleted (§5.5), and coloured output with `--no-color` -(§8.2, §11); amended again 2026-09-14 for 0.0.3: the plan -shown as one block per file, wrapped to the terminal, and `-P` (§8.2, §8.3, §11); -amended again 2026-09-14 for 0.0.4: `max-size` (§4.4), `(exclude ...)` -(§4.2, §4.3, §4.6) and `--min-age` (§11); amended again 2026-09-14 for -0.0.5: the keyword cache (§3, §6.1, §13), and `t`, `d` and `w` in review -(§8.3, §10); amended again 2026-09-14 for 0.0.6: `w` applies and quits, and -each choice is echoed in red (§8.2, §8.3); amended again 2026-09-14 for -0.0.7: the threat model and its tests (§15.1); amended 2026-09-15 for -0.0.8: three-valued content tests (§4.6, §5.4), captures from the original -name (§7.3), claims across directories (§7.4), `-v` destinations not scanned -(§8.1), `(partly undone)` (§10), build checks (§14) and real document -fixtures (§15); amended 2026-09-15 for 0.0.9: failed duplicate lookups and -undecided `(stop)` rules (§5.4), placeholders refused at load (§7.3). +The design of krino's engine and command line, up to date for 0.0.9. The +window has a document of its own, `gui-design.md`; what changed in each +release is in `CHANGELOG.md`. Source comments cite the sections here by +number, so the numbering is stable. krino (from Greek κρίνω, "to separate, to judge, to decide") sorts files in chosen directories by rules. A rule tests a file's type, name, path, size, @@ -515,8 +504,8 @@ name. that exists, under "not scanned". Known limitation: a `DEST` whose *first* path component is itself a placeholder (`{ext}`, `{mtime:%Y}`) has no static prefix, so nothing can be - excluded before the walk, and krino would re-examine its own output; plan 3 - closes this by treating a file already at its computed destination as a + excluded before the walk, and krino would re-examine its own output. What + closes it is treating a file already at its computed destination as a no-op. - Skipped: files newer than `min-age` ("too new"), larger than `max-size` ("too big"), or with a `busy` sibling ("busy"). @@ -990,7 +979,7 @@ keyword. Its defects shaped these decisions: | `pdftotext` rather than a Go PDF library | best text quality of the open tools, fast, packaged on all three systems | | Delete to Trash by default | recoverable, and undo can restore it | | Duplicates are found, never deleted | duplicate conditions with different scopes elect different originals, so deleting duplicates could remove every copy; moving them aside is always recoverable, and choosing which copy to delete belongs to the user or a tool built for it (jdupes). Decided 2026-09-14 after 0.0.1 shipped with the hazard documented | -| A new repository rather than the prototype's | the prototype's history holds personal data; the prototype keeps working until krino reaches parity | +| A new repository rather than the prototype's | a history that can be published as it stands; the prototype keeps working until krino reaches parity | | Personal configuration never enters the repository | rules hold private data; the leak check enforces it on every commit and in `make ci` | ## 18. Settled before implementation diff --git a/docs/gui-checklist.md b/docs/gui-checklist.md index d07ca17..d81e57c 100644 --- a/docs/gui-checklist.md +++ b/docs/gui-checklist.md @@ -3,7 +3,7 @@ The GTK layer has no automated tests (gui-design.md §6): package `gui/internal/model` is tested, `gui/internal/ui` is not. This list is run by hand before every release that changes the GUI, and what it found goes -in the release's plan record. +in that release's entry in `CHANGELOG.md`. Run it against a sandbox, never a real directory: diff --git a/docs/gui-design.md b/docs/gui-design.md index a7c5089..602368f 100644 --- a/docs/gui-design.md +++ b/docs/gui-design.md @@ -1,10 +1,12 @@ # krino-gui design -Status: draft, 2026-09-15. The window layout (B), the rules editor layout -(A) and sections 1–4 were agreed from mockups; sections 5–6 are the -author's defaults, to be corrected before implementation. Companion to -`docs/design.md` (the engine spec, "the spec" below), whose §12 anticipated -this GUI. +The shape of the window, written before it was built and still the +description of what it is for. Where the window has since gone further — +the plan's columns, the filter and the sort, previews, settings — +`CHANGELOG.md` is the record. Companion to `docs/design.md` (the engine +spec, "the spec" below), whose §12 anticipated this GUI. Source comments +and `gui-checklist.md` cite the sections here by number, so the numbering +is stable. `krino-gui` is a GTK4 window for what `krino` does in a terminal: review a directory's plan and apply the chosen files, look back over runs and undo |
