diff --git a/REPORT.md b/REPORT.md index 2263b12..f513a2d 100644 --- a/REPORT.md +++ b/REPORT.md @@ -52,15 +52,41 @@ All reverted; post-revert full suite green; no residue. ## Deploy / verify -`` +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 -`` +- **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 → `/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 -`` +- **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