f3d1ba3062
Viktor deleted 11 immich photos to test offsite restore; both place runs merged 0 files and flashed success. Two-layered root cause: - A UI delete means TRASH, not deletion — no file left the disk, so there was genuinely nothing missing to restore. The test proved nothing. - A valid test would also have failed: no offsite path loads a database. All three buttons are file-only (offbox_restore.go:171-232, :346-421). Files return; the library stays empty. The only DB replay is RestoreFromRecoveryUnit, reachable solely from the LOCAL restore panel. Compounding: the manual push never refreshes dumps (offbox_handlers.go: 203-227) — today's unit dump is from 02:30 and probes to asset:0 / user:0 / album:0, predating both the admin user and the photos. Had a full restore loaded it, it would have written an empty DB over the live one, destroying the trashed rows that were the only surviving recovery path. Answer to "can a customer trust same-day offsite?" for a DB-indexed app: no — files come back, content does not. No product code changed. Photos left in trash (recovery not wanted). Capability map: customer-restore row stays MISSING by finding, not by absence of attempt; offsite-restore row flagged scope-contested pending a ruling on whether CAMPAIGN-6D exercised the DB half. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P9Nn14TWGzKoqAJAiVwC2s