docs: R-43 + R-44 shipped in controller v0.148.0 (live acceptance still pending)

ROADMAP R-43/R-44 → SHIPPED with what actually landed:
  - R-43: ReconstituteFromOffsite — safety dump → stop → files overwritten to
    the snapshot version → start → the snapshot's own dump replayed from the
    SCRATCH unit (the live unit is still never overwritten). Invariants:
    nothing is ever deleted, and the undo is verified on disk before the act.
  - R-44: every run, manual AND nightly, refreshes dumps + units BEFORE the
    capture, so each snapshot is a coherent {DB@T, files@T} pair stamped with
    offsite_run_id + dumps_at. Nightly ordering is now structural rather than a
    coincidence of two scheduler entries at 02:30 and 04:15.

DIAG doc gains a "fixed in v0.148.0" header pointing at both.

Capability map deliberately NOT flipped: the DB half now exists but is PARTIAL,
not PROVEN-LIVE — shipped and deployed with no live acceptance behind it. The
customer-restore row stays MISSING, now blocked only on the evidence run rather
than on missing capability, and R-3 stays DRAFT.

Still open: the 00-capability-map.md:61 ruling — did CAMPAIGN-6D's "immich
end-to-end from offsite alone" exercise the DB half, or only the file half?

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9Nn14TWGzKoqAJAiVwC2s
This commit is contained in:
2026-07-19 12:27:11 +02:00
parent fa8c0d5972
commit 238472b8ed
4 changed files with 19 additions and 5 deletions
@@ -1,6 +1,13 @@
# DIAGNOSE — immich offsite restore "succeeds", photos do not reappear (2026-07-19)
> **Class:** diagnosis. No product code was changed. Findings + evidence only.
> **FIXED IN controller v0.148.0 (2026-07-19)** — findings 1 and 2 below are closed in code as
> **R-43** (offsite reconstitution: safety dump → stop → overwrite files → start → replay the
> snapshot's dump) and **R-44** (every run dumps before it captures; manifests carry
> `offsite_run_id` + `dumps_at`). Findings 4 and 5 are described-and-accepted rather than changed;
> 3 stays with the v0.147 feedback arc and 6 is still unreconciled. **The live acceptance has not
> run** — the capability rows below are unchanged until it does. See `felhom-controller/REPORT.md`.
>
> **Class:** diagnosis. No product code was changed *by this document*. Findings + evidence only.
> **Box:** demo-felhom (felhom-pve), guest 9201, controller 0.146.0, immich v3.0.3.
> **Trigger:** Viktor deliberately deleted photos in the immich UI to **test the offsite restore
> feature**. The photos were never wanted back — the exercise was the point.