README: where an off-site restore puts the data (R-356, v0.219.0)
gates / gates (push) Successful in 12s

This commit is contained in:
2026-08-22 13:26:44 +02:00
parent cbc3fa589c
commit c1dbb05ad6
+12
View File
@@ -571,6 +571,18 @@ Each app can define rich metadata in `.felhom.yml`:
(they are the undo). The live recovery unit is still never overwritten, which is why the replay (they are the undo). The live recovery unit is still never overwritten, which is why the replay
source is the scratch. Honesty surfaces (`OffsiteScratchPair`): dump age, an unstamped-pair source is the scratch. Honesty surfaces (`OffsiteScratchPair`): dump age, an unstamped-pair
warning, and the R-44 empty-dump sniff — all warn-level, none of them gates. warning, and the R-44 empty-dump sniff — all warn-level, none of them gates.
- **Where an off-site restore puts the data (v0.219.0, R-356).** `ReconstituteFromOffsite` and
`PlaceOffsiteRestore` resolve the destination with `Manager.GetAppDrivePath` — **the same
resolver `CaptureRecoveryUnit` wrote the snapshot with**: the app's `HDD_PATH` if it declares
one, `systemDataPath` otherwise. Before v0.219.0 both used the RAW `GetStackHDDPath` and read an
empty answer as *"the app is not installed"*, which refused **40 of the 53 catalogue apps
permanently** — those apps are correctly driveless — while telling the customer to reinstall a
running app "in the same place" they are never offered. **Three separate refusals now, three
separate sentences:** not deployed (`isStackDeployed`, asked of `ListDeployedStacks` and failing
CLOSED on a nil provider); deployed but no resolvable data root; and the R-351 placement mismatch,
which still requires `ack_placement=1`. **The 13 `needs_hdd` apps are unchanged.** The
capture-side raw `GetStackHDDPath` (`offbox_capture.go`) is fenced and must keep no fallback —
it resolves declared `userdata`/`import` file legs, which do not live on the system disk.
- **The restore wizard (v0.154.0, R-48 — `web/restore_wizard.go`).** The offsite restore controls - **The restore wizard (v0.154.0, R-48 — `web/restore_wizard.go`).** The offsite restore controls
used to render as up to five inline forms per app row, two of which — the missing-only merge and used to render as up to five inline forms per app row, two of which — the missing-only merge and
the true reconstitution — were sibling buttons whose difference is whether the data comes back. the true reconstitution — were sibling buttons whose difference is whether the data comes back.