1 Commits
Author SHA1 Message Date
sneak 979f1b5749 README: five sentences fixed for the documents gate (closes #229)
check / check (push) Canceled after 0s
The documents gate on `next` failed five README sentences
(#219 (comment)). Each
is replaced with the gate's rewrite after a check against the code: the
keywords score sentence is split in two; `-1` is dropped from the
invalid ID examples, since the option parser refuses a positional `-1`
as an unknown option before the ID check; `mlData` drops the whole
`clip` block, as `src/backup.ts` and `src/metadata-backup.ts` do; a
collection name gets its ID at 250 bytes and a file name at 255, as
`uniqueNames` does; `lastTriedAt` is one timestamp per run. Nothing
else changes; `make fmt` reflowed the touched paragraphs.

Model: fable-5-1
2026-10-26 17:16:04 +00:00
+11 -12
View File
@@ -472,8 +472,8 @@ fresh reads"). `backup` counts it as failed (see "What quak cannot decrypt").
A collection ID or file ID given to `files`, `get`, `get-thumb` or A collection ID or file ID given to `files`, `get`, `get-thumb` or
`fix-missing-thumbnails --file` is written in decimal digits and is at `fix-missing-thumbnails --file` is written in decimal digits and is at
most 9007199254740991. Anything else, such as `0x10`, `1e3` or `-1`, is refused most 9007199254740991. Anything else, such as `0x10` or `1e3`, is refused before
before any request is sent. The command logs `Invalid file ID: <arg>` or any request is sent. The command logs `Invalid file ID: <arg>` or
`Invalid collection ID: <arg>` and exits 1. `Invalid collection ID: <arg>` and exits 1.
### What quak prints ### What quak prints
@@ -777,10 +777,9 @@ ignoring case, get their IDs added before the extension: `IMG_0001 (12345).JPG`
and `IMG_0001 (12346).JPG`. A collection named like another collection's JSON and `IMG_0001 (12346).JPG`. A collection named like another collection's JSON
file, such as `Trip.json` beside `Trip`, also gets its ID added. A file name file, such as `Trip.json` beside `Trip`, also gets its ID added. A file name
longer than 255 bytes, the limit on most file systems, gets its ID added too. So longer than 255 bytes, the limit on most file systems, gets its ID added too. So
does a collection name longer than 250 bytes, which leaves room for `.json`. does a collection name longer than 250 bytes, which leaves room for `.json`. It
Either name is then cut short before the ID, just far enough to fit. IDs never is then cut short before the ID, just far enough to fit. IDs never change, so a
change, so a name stays the same from run to run until such a clash appears or name stays the same from run to run until such a clash appears or goes away.
goes away.
Each run removes every symlink in a collection's directory that points into the Each run removes every symlink in a collection's directory that points into the
date folders and is not one of its current links, yours included. A file or date folders and is not one of its current links, yours included. A file or
@@ -835,8 +834,8 @@ Each entry holds:
- `fileID` and `title`; - `fileID` and `title`;
- `classification`: the kind of failure; - `classification`: the kind of failure;
- `attempts`: how many runs in a row have failed the file; - `attempts`: how many runs in a row have failed the file;
- `lastTriedAt`: when the run that last tried it finished its refresh, as a Unix - `lastTriedAt`: the start of the run that last tried it, as a Unix time in
time in milliseconds; milliseconds;
- `error`: the error, as quak printed it. - `error`: the error, as quak printed it.
The kinds are: The kinds are:
@@ -1079,10 +1078,10 @@ cached, so the next fetch asks for it again. The reasons are kept in memory
only. only.
`lib.close()` stops the background timer. It can be called more than once. A `lib.close()` stops the background timer. It can be called more than once. A
refresh in flight is left to finish, with its write to the cache. `close()` refresh in flight is left to finish, with its write to the cache. The promise
returns a promise. It resolves once that refresh, the machine-learning fetch and `close()` returns resolves once that refresh, the machine-learning fetch and the
the background downloads already running have all finished. The cache directory background downloads already running have all finished. The cache directory can
can then be removed. After `close()`, `fresh()`, `freshCollections()`, then be removed. After `close()`, `fresh()`, `freshCollections()`,
`freshFiles()` and `lib.backup()` reject with `the library is closed`. `freshFiles()` and `lib.backup()` reject with `the library is closed`.
### Default reads and fresh reads ### Default reads and fresh reads