=== Scenario K — no unit anywhere, a backup can be taken — 2026-09-13T15:24:19Z, controller 0.239.0 ===
--- BEFORE: every tier's location ---
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
app_backup record: None
--- deploy actualbudget (throwaway) at 2026-09-13T15:24:21Z ---
HTTP 202
{"ok":true,"message":"Telepítés elindítva – az állapot a kártyán követhető"}
after deploy (2026-09-13T15:24:47Z): state=running updating=False phase=None err='' hold=''
--- Tier 2 OFF for actualbudget via POST /stacks/actualbudget/backup (form, enabled absent) at 2026-09-13T15:24:47Z ---
HTTP/2 303 
location: /stacks/actualbudget/backup?flash=A+2.+ment%C3%A9s+be%C3%A1ll%C3%ADt%C3%A1sa+elmentve.

--- IMMEDIATELY BEFORE the update: still no unit? ---
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
--- POST /api/stacks/actualbudget/update at 2026-09-13T15:24:48Z ---
HTTP 202
{"ok":true,"data":{"accepted":true,"completed":false},"message":"Frissítés elindult – az állapot a kártyán követhető"}
  +  0s phase safety-dump
  +  3s phase done
end (2026-09-13T15:24:51Z, +3s): state=running updating=False phase=done err='' hold=''
--- the controller, verbatim (update + pre-backup + tier choice) ---
2026/09/13 15:24:48 update.go:336: [INFO] [stacks] update actualbudget: accepted — guarded update started
2026/09/13 15:24:48 update.go:763: [INFO] [stacks] update actualbudget: phase checking
2026/09/13 15:24:48 update_guard.go:173: [DEBUG] [backup] update precondition for actualbudget: no Tier-2 copy (nincs másodlagos fájlmásolat ehhez az alkalmazáshoz)
2026/09/13 15:24:48 update.go:450: [INFO] [stacks] update actualbudget: precondition met — Tier 1 (own recovery unit) copy from 2026-09-13T15:24:22Z (0s old, limit 24h0m0s)
2026/09/13 15:24:48 update.go:763: [INFO] [stacks] update actualbudget: phase safety-dump
2026/09/13 15:24:48 update_guard.go:403: [INFO] [backup] update safety dump for actualbudget: the app has no database — nothing to copy (no-op)
2026/09/13 15:24:48 update.go:482: [INFO] [stacks] update actualbudget: safety dump done (0 file(s)) []
2026/09/13 15:24:48 update.go:763: [INFO] [stacks] update actualbudget: phase pinning
2026/09/13 15:24:48 pin.go:362: [INFO] [stacks] update actualbudget: pin advanced to the catalog's current definition (actualbudget=actualbudget/actual-server:26.7.0)
2026/09/13 15:24:48 update.go:763: [INFO] [stacks] update actualbudget: phase pulling
2026/09/13 15:24:50 update.go:763: [INFO] [stacks] update actualbudget: phase starting
2026/09/13 15:24:50 update.go:763: [INFO] [stacks] update actualbudget: phase verifying
2026/09/13 15:24:50 healthprobe.go:153: [DEBUG] Health probe actualbudget: HTTP GET :5006/ → 200 (3ms)
2026/09/13 15:24:50 update.go:558: [INFO] [stacks] update actualbudget: healthy after 0s (the app's health check passed)
2026/09/13 15:24:50 installed.go:397: [DEBUG] [stacks] installed-images actualbudget: unchanged (1 service(s)) — app.yaml not rewritten
2026/09/13 15:24:50 update.go:564: [INFO] [stacks] update actualbudget: DONE in 2s
--- AFTER: the unit the backup-first made ---
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
:
  2026-07-04T09:05:00.0000000000 132 .profile
  2026-08-18T10:54:08.4964149220 0 .bash_history
  2026-08-21T21:09:27.0884871020 2777 settings.json.drill-backup
  2026-07-04T09:05:00.0000000000 607 .bashrc
--- the card ---
state=running updating=False phase=done err='' hold=''
=== K done 2026-09-13T15:24:54Z ===
