night 2026-09-24: chaos rounds 1-8 evidence; 07/08/09/capability map for decisions 26-28 + digests; R-681
gates / gates (push) Successful in 24s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-24 14:21:14 +02:00
parent 3208cb2083
commit 4502af6bb1
54 changed files with 9647 additions and 9 deletions
@@ -307,13 +307,13 @@ the unit, the Tier-2 mirror AND the Tier-2 record, so „Teljes visszaállítás
(R-486); „Mentési adatok törlése" deletes the unit, every mirror and the app's backup preferences, and
never touches off-site snapshots (R-474). A removed app whose unit was kept is listed on both local backup pages with its restore since controller v0.242.0 (R-487): **the local lists are keyed on the drives, not on what is deployed** — the rule R-237 set for the off-site list — and the restore opens the unit where it sits, a data drive included. **For a bind-data app the update's tier order is second drive → off-site → own unit (R-479, v0.241.0), because the unit does not hold the files.**
**[FACT, measured from source 2026-09-24, controller v0.267.0/v0.268.0] Which copy brings an app back WHOLE
**[FACT, measured from source 2026-09-24, controller v0.267.0/v0.268.0; the second-drive cell for file apps changed by v0.269.0] Which copy brings an app back WHOLE
— read from the restores' own refusals, not from what the tier stores** (`09` §3 decision 25, R-659):
| app | own unit (Tier 1) | second drive (Tier 2) | off-site (Tier 3) |
|---|---|---|---|
| no declared drive files (class B, 45 apps) | whole — the unit restore | whole — „Teljes visszaállítás" (the unit restore) | whole — the full restore |
| declared drive files (`DeclaredDriveFileLegs`: calibre-web, immich, nextcloud, paperless-ngx) | **not** — refused (R-538) | **not** — its unit restore is refused by the same guard; the file restore only ADDS missing files (R-661) | whole — „Teljes visszaállítás (fájlok + adatbázis)" |
| declared drive files (`DeclaredDriveFileLegs`: calibre-web, immich, nextcloud, paperless-ngx) | **not** — refused (R-538) | **whole since controller v0.269.0** — „Teljes visszaállítás" runs `RestoreTier2Whole`: the mirror's files by four rules (never delete a file; never write an older file over a newer one; bring back every missing one; an older, different live file is replaced and KEPT beside as `<name>.felhom-<UTC>`), then the unit from the mirror (decision 26, R-661; proven live 2026-09-24, `audits/night-2026-09-24/A1/`). Needs a proven, openable mirror WITH the file legs and 2 GB free; `rsyncMirror` (`--delete`) is never used for it. The unit-only restore is still refused (R-538). | whole — „Teljes visszaállítás (fájlok + adatbázis)" |
`backup.WholeOnTier` is this table; `TestR659_TruthTableAgreesWithTheRestoresRefusal` pins that it cannot drift
from the refusal. An app with only OPTIONAL legs (audiobookshelf, komga, romm) is class-B here: its files are