mesh/merge-gate pass: builds restic → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery delivered
A machine that backs up nothing read as missing its night after 26 hours up, and a laptop's count, last written before it slept, read as stale on waking until the next look (novox/hq issue 489).
restic
The machine's backups as the node-backup seat (novox/hq ADR 0214, to-be 43, ADR 0233): one restic
repository on the machine, one restore point per module a night, thinned by the machine's settings.
Against mistakes, not disasters: nothing leaves the machine.
How restore points are kept
- A night's restore point is tagged with its module alone and thinned by
keep-daily,keep-weeklyandkeep-monthly(14, 8 and 6 by default). - A restore point taken by hand (
node-backup.now, asked by a person, or by the mesh before a module moves) is taggedhandas well. The thinning keeps that tag (--keep-tag hand), so the next night never takes it (novox/hq issue 453). It is let go, by its id, only when both hold: it is older thankeep-hand-taken-days(7 by default), and a later night of its module was recorded as good. A partial night, where restic wrote a restore point but could not read every file, does not count. - A module that left the machine gets no later night, so its restore points taken by hand are kept for good. That is a choice: deleting a module's last restore point is a person's act, and until then it costs only space.
node-backup.backed-up lists each module's restore points taken by hand under handTaken: when
each was taken, the time it is kept at least until, whether it still waits for a later good night,
and a sentence saying so.