docs: REPORT — v0.134.0 deploy + read-only live validation (raw-data 710→271 MB proven, shape baseline)

This commit is contained in:
2026-07-14 22:57:20 +02:00
parent 2d20859858
commit 482d0d98e3
+26 -5
View File
@@ -60,10 +60,25 @@ All reverted; post-revert full suite green; no `RP-` residue in source (one expl
## Deploy / verify
Built + pushed `felhom-controller:0.134.0` on 180; deployed to demo guest 9201. Per-guest `docker ps`
+ startup log + the §13 live-validation evidence recorded below.
Built + pushed `felhom-controller:0.134.0` on 180 (digest `sha256:0f6ae90…a0447`); deployed to demo
guest 9201 → `Up (healthy)`, startup log `Controller elindult (0.134.0)`, `[selfupdate] Current
version 0.134.0 is up to date`. Code commit `2d20859`.
_Deploy + live-validation evidence appended after the live run — see the deploy commit._
**§13 live validation (read-only, against the REAL Hetzner Storage Box repo — 12 snapshots):**
- **restic version parity:** `restic 0.14.0` inside the deployed container (matches the spike binary).
- **Current snapshot shape (baseline):** every latest snapshot is UNIT-ONLY — `paths` =
`["…/backups/primary/<app>"]` for immich / audiobookshelf / calibre-web (tags
`felhom-offbox,<app>`). This is the pre-3a shape; the next 0.134.0 run will enlarge classified
apps to unit + mandatory userdata.
- **SP-1 raw-data switch, PROVEN on the real repo:** `stats --mode raw-data --json`
`total_size 271,709,746` (~271 MB, what v0.134.0 records); `stats --json` (modeless) →
`total_size 744,763,144` (710.3 MB, the OLD measurement — matches the stored `repo_size_bytes`).
**The displayed remote-backup size will drop 710 MB → ~271 MB on the first 0.134.0 stats refresh**
— the documented one-time drop, confirmed (2.7× restore-size multiplication across 12 snapshots).
- The manual-run endpoint (`POST /backup/offbox/run`) is customer-password-gated (302 → login) — a
credential CC lacks — so the run-TRIGGERED validations below are deferred (they occur on the next
scheduled 04:15 run or a supervised login).
## Hub flag (rule 9.2 — flagged, not made)
@@ -73,11 +88,17 @@ and the message reaches the customer only in-dashboard (the `LastWarning` line +
per-app note, both live). No existing event type fit a "warning, not failure" semantics, and adding a
hub event type is out of this task's scope.
## NOT yet live-validated — awaiting CAMPAIGN-6D (supervised)
## NOT yet live-validated — awaiting a supervised login / CAMPAIGN-6D
- The new multi-path snapshot shape live (run is auth-gated; occurs on the next 04:15 run or a
supervised trigger — the read-only baseline above confirms the repo is reachable and currently
unit-only, so the change will be visible).
- The `forget --group-by host,tags` log line + the raw-data `RepoSizeBytes` UI refresh (both fire on
the next run; raw-data value already proven read-only = ~271 MB).
- Unit-only scratch restore via the real endpoint (auth-gated).
- `PlaceOffsiteRestore` against live data (unit-tested only; STOP boundary).
- A full restore of a large set (unit-tested; the demo apps are small).
- The enlarge-blocked path firing live (demo quota is 50 GB — won't trip; unit-tested).
- The enlarge-blocked path firing live (demo quota is 50 GB / repo 271 MB — won't trip; unit-tested).
- Notification delivery end-to-end (blocked on the hub flag above).
- The SQ3 immich offsite-only full-circle restore.