README: five sentences fixed for the documents gate (closes #229)
check / check (push) Waiting to run
check / check (push) Waiting to run
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
This commit is contained in:
@@ -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
|
||||
`fix-missing-thumbnails --file` is written in decimal digits and is at
|
||||
most 9007199254740991. Anything else, such as `0x10`, `1e3` or `-1`, is refused
|
||||
before any request is sent. The command logs `Invalid file ID: <arg>` or
|
||||
most 9007199254740991. Anything else, such as `0x10` or `1e3`, is refused before
|
||||
any request is sent. The command logs `Invalid file ID: <arg>` or
|
||||
`Invalid collection ID: <arg>` and exits 1.
|
||||
|
||||
### What quak prints
|
||||
@@ -692,10 +692,10 @@ Update times are in microseconds, as Ente records them.
|
||||
The JSON also holds the machine-learning data Ente computed for the photo, as
|
||||
`mlData`. Ente's apps detect faces in each photo and compute a CLIP embedding
|
||||
for it, a list of 512 numbers that describes what the photo shows. `mlData`
|
||||
holds everything but that embedding. In its place the JSON holds `keywords`,
|
||||
derived from the embedding as described under "Keywords". A file with no
|
||||
machine-learning data has neither field. A file whose data holds no usable
|
||||
embedding has no `keywords`.
|
||||
holds everything but the `clip` block, which holds that embedding. In its place
|
||||
the JSON holds `keywords`, derived from the embedding as described under
|
||||
"Keywords". A file with no machine-learning data has neither field. A file whose
|
||||
data holds no usable embedding has no `keywords`.
|
||||
|
||||
The backup waits for the library's fetch of machine-learning data to finish
|
||||
before it writes the JSON files. When a file's data cannot be fetched,
|
||||
@@ -748,11 +748,11 @@ derives a file's keywords the way the app sorts it. The categories are:
|
||||
|
||||
Each category has a query, and a text embedding of that query from Ente's CLIP
|
||||
text model. A file's score for a category is the cosine similarity of the file's
|
||||
embedding and the category's: a number from -1 to 1, higher the more alike the
|
||||
two embeddings are. The file falls in the category when its score reaches the
|
||||
category's minimum score. The keywords are the titles of the categories the file
|
||||
falls in, highest score first. A video never falls in a category marked "no
|
||||
videos", as in the app.
|
||||
embedding and the category's. That is a number from -1 to 1; the more alike the
|
||||
two embeddings are, the higher it is. The file falls in the category when its
|
||||
score reaches the category's minimum score. The keywords are the titles of the
|
||||
categories the file falls in, highest score first. A video never falls in a
|
||||
category marked "no videos", as in the app.
|
||||
|
||||
#### Collection directories
|
||||
|
||||
@@ -775,11 +775,11 @@ ignoring case, each gets its ID added: two albums named `Trip` become
|
||||
`Trip (10)/` and `Trip (11)/`. Two files in one collection whose titles match,
|
||||
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
|
||||
file, such as `Trip.json` beside `Trip`, also gets its ID added. A name too long
|
||||
for a file name, which most file systems limit to 255 bytes, gets its ID added
|
||||
too. It is then cut short before the ID, just far enough to fit. IDs never
|
||||
change, so a name stays the same from run to run until such a clash appears or
|
||||
goes away.
|
||||
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
|
||||
does a collection name longer than 250 bytes, which leaves room for `.json`. It
|
||||
is then cut short before the ID, just far enough to fit. IDs never change, so a
|
||||
name stays the same from run to run until such a clash appears or goes away.
|
||||
|
||||
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
|
||||
@@ -834,7 +834,8 @@ Each entry holds:
|
||||
- `fileID` and `title`;
|
||||
- `classification`: the kind of failure;
|
||||
- `attempts`: how many runs in a row have failed the file;
|
||||
- `lastTriedAt`: when it was last tried, as a Unix time in milliseconds;
|
||||
- `lastTriedAt`: the start of the run that last tried it, as a Unix time in
|
||||
milliseconds;
|
||||
- `error`: the error, as quak printed it.
|
||||
|
||||
The kinds are:
|
||||
|
||||
Reference in New Issue
Block a user