docs: REPORT — v0.136.0 deploy + SQ6 before/after live validation (sibling no longer rides along; radarr state-only; opt-in flips; manifest v1)

This commit is contained in:
2026-07-15 11:39:24 +02:00
parent cf9ce01917
commit 0ef6648e12
+30 -4
View File
@@ -52,15 +52,41 @@ All reverted; post-revert full suite green; no residue.
## Deploy / verify ## Deploy / verify
`<filled after deploy>` Built + pushed `felhom-controller:0.136.0` on 180; deployed to guest 9201 → `Up (healthy)`. Commit
`cf9ce01`.
## §13 live validation ## §13 live validation — the SQ6 before/after, on the real demo
`<filled after the live legs>` - **Leg 1 — before-picture (v0.135.0, the SQ6 protocol):** planted `SPIKE-marker-own.txt` under
calibre-web's `media/books/` and `SPIKE-marker-sibling.txt` under the sibling `media/movies/`;
exported calibre-web via the real UI (download pipeline, 356 MB). `tar tf` of the bundle's
`data/hdd/userdata.tar`: **BOTH markers present** (own=1, sibling=1, 15 `media/movies` entries) —
the whole userdata root rode along (the over-capture).
- **Leg 2 — after (v0.136.0):** re-exported calibre-web (default). `tar tf`: **own=1, sibling=0,
`media/movies` entries=0, `media/books` entries=39** — the sibling no longer rides along (Scenario C
live). radarr default export → the bundle has **no `hdd/` contents at all** (no userdata tar,
Scenario B live — radarr is classified all-excluded).
- **Leg 3 — opt-in + estimate split:** radarr's `download/estimate` returns
`has_classification:true` + `excluded_items:[{downloads, 308 MB}, {media/movies, 2.7 GB}]` (the
two-number-warning data, live, both pipelines). Re-exported radarr with
`opt_in_excluded:["userdata/downloads"]` → the userdata tar now carries `downloads` (2 entries) while
`media/movies` stays excluded (0) — the opt-in flips Scenario B, per-path, live.
- **Leg 4 — import compatibility (read-only):** the new exclude-scoped bundle's manifest is **v1**
(`version=1`, `hdd_subdirs=['userdata']`, `has_hdd_data=true`) — the untouched import maps the
`userdata` basename → `<HDD_PATH>/userdata` via the existing fallback, so the smaller tar restores
exactly as before. A destructive live import over calibre-web (`compose down --volumes`) was NOT run
— compatibility is structurally guaranteed (v1 manifest + untouched import) and unit-proven
(`roundtrip_test.go`).
- **Leg 5 — hygiene:** removed the two SPIKE markers from live userdata and the test `.fab` bundles;
cleaned the 180 session temp. Listed removals above.
## 6D-pending ## 6D-pending
`<updated after §13>` - **CAMPAIGN-6D Accept #1** (the ≥1 GiB `.fab` full circle) now runs against this final capture shape —
a real export→transport→import round-trip of a large classified app, exercising the exclude-scoped
userdata tar end-to-end (the live leg-4 import was deliberately read-only here).
- Carried from earlier tasks: `PlaceOffsiteRestore` against live data; the SQ3 immich offsite-only
full circle; organic enlarge-block firing.
## Observations ## Observations