diff --git a/documentation/audits/CAMPAIGN-7-catalog-sweep-2026-07-19.md b/documentation/audits/CAMPAIGN-7-catalog-sweep-2026-07-19.md index 4da0ac1..1f5046b 100644 --- a/documentation/audits/CAMPAIGN-7-catalog-sweep-2026-07-19.md +++ b/documentation/audits/CAMPAIGN-7-catalog-sweep-2026-07-19.md @@ -158,6 +158,29 @@ restored to `offbox:true` — which they already were, since the toggle survives healthy). Swapping the image is a structural change, not a pin bump, so it is recorded for a considered follow-up rather than done here. +### 3.1 Offsite continuity across uninstall → reinstall — **PROVEN** (free evidence for R-34) + +The rail asked whether a re-deployed app's offsite run RESUMES its pre-uninstall snapshot tags. +An offsite run was triggered after the trio was back up (`POST /backup/offbox/run` — a run, not a +config change). It completed `ok` in 1m13s, and the tags line up exactly: + +| app | pre-uninstall snapshot | post-reinstall snapshot | tags | +|---|---|---|---| +| calibre-web | `243ad08c` 07-18 17:13:42 | `9698ba74` 07-19 01:26:58 | `felhom-offbox,calibre-web` — **identical** | +| immich | `6df12205` 07-18 17:13:46 | `ea511336` 07-19 01:27:02 | `felhom-offbox,immich` — **identical** | +| bookstack | *(none — it was the „kimaradtak" app)* | `63850757` 07-19 01:26:52 | `felhom-offbox,bookstack` — **new** | +| shares | — | `bbbc2fae` 07-19 01:27:55 | `felhom-offbox,_shares` (R-7b path still working) | + +**Continuity holds.** The tag lineage is stable across a full uninstall → volume-destroy → fresh +redeploy, so a `restic --tag ` query still spans the reinstall boundary and the pre-uninstall +restore points remain addressable — reinstalling an app does not orphan its offsite history. + +**A side effect worth recording:** the standing `kimaradtak: bookstack` warning is now **cleared** +(`last_warning: None`, 6 snapshots, 211.6 MB). bookstack had no offsite snapshot before this +campaign because it had no tier-1 backup to push; the fresh redeploy produced one, so its first-ever +offsite snapshot landed here. The rail predicted the warning might FIRE during the sweep — instead +the sweep resolved a pre-existing one. + --- ## 4. Version-bump policy actually applied (deviation, stated deliberately)