Found restoring sonarr on the home server through ace/node-backup.restore: path var/lib/sonarr/config/config.xml: not a directory. restic restore <id>:<path> takes a subfolder; the arr apps are the first modules to keep a single file (their settings).
A kept path is looked up in the snapshot (restic ls --json). A directory restores as before; a file restores with --include into <target>.partial, is moved to <path>.restored-<date>, and the scratch directory is removed. Still never over the live file.
The real-restic test now keeps a single file too, overwrites it by mistake, restores it beside the live one and checks no scratch remains. It fails on the old code.
The two directories that failed restore did restore — sonarr's database copy byte-identical, its 11 656 cover files without a difference — and were removed after checking. 9/9 pass.
Found restoring sonarr on the home server through `ace/node-backup.restore`: `path var/lib/sonarr/config/config.xml: not a directory`. `restic restore <id>:<path>` takes a subfolder; the arr apps are the first modules to keep a single file (their settings).
- A kept path is looked up in the snapshot (`restic ls --json`). A directory restores as before; a file restores with `--include` into `<target>.partial`, is moved to `<path>.restored-<date>`, and the scratch directory is removed. Still never over the live file.
- The real-restic test now keeps a single file too, overwrites it by mistake, restores it beside the live one and checks no scratch remains. It fails on the old code.
The two directories that failed restore did restore — sonarr's database copy byte-identical, its 11 656 cover files without a difference — and were removed after checking. 9/9 pass.
The first restore of an arr app refused its settings file with "not a directory": restic restores
a snapshot's subfolder, not a file. A file is restored with its full path into a scratch directory
beside the target, moved into place, and the scratch removed.
Deliverynovox/mesh-catalog@83bd2afe667c — held since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.
Delivery plan — builds restic → ace, g14, novox, shanks; no bus step
tier 0: restic
ace: receives restic
g14: receives restic
novox: receives restic
shanks: receives restic
restic keeps data (ADR 0233): what it holds is backed up before it moves
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#56 merged; its head was not heard by this owner, so it is made from the forge's word
2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@83bd2afe667c` — **held** since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on.
**Delivery plan** — builds restic → ace, g14, novox, shanks; no bus step
- tier 0: restic
- ace: receives restic
- g14: receives restic
- novox: receives restic
- shanks: receives restic
- restic keeps data (ADR 0233): what it holds is backed up before it moves
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#56 merged; its head was not heard by this owner, so it is made from the forge's word
- 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found restoring sonarr on the home server through
ace/node-backup.restore:path var/lib/sonarr/config/config.xml: not a directory.restic restore <id>:<path>takes a subfolder; the arr apps are the first modules to keep a single file (their settings).restic ls --json). A directory restores as before; a file restores with--includeinto<target>.partial, is moved to<path>.restored-<date>, and the scratch directory is removed. Still never over the live file.The two directories that failed restore did restore — sonarr's database copy byte-identical, its 11 656 cover files without a difference — and were removed after checking. 9/9 pass.
Delivery
novox/mesh-catalog@83bd2afe667c— held since 2026-10-06T23:05:28ZHeld for a person: merged without a passing check: only a person decides that it goes on —
mesh-delivery.releasewith why lets it go on.Delivery plan — builds restic → ace, g14, novox, shanks; no bus step
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.