before: pinned={'uptime-kuma': 'louislam/uptime-kuma:2.4.0'}
drill: f545bd4 DRILL uptime-kuma: {'uptime-kuma': 'louislam/uptime-kuma:2.5.5'} (box proof)
  phase +0.0s backing-up | err=None
  phase +6.2s pulling | err=None
  phase +22.6s copying | err=None
  phase +28.7s verifying | err=None
  phase +33.8s done | err=None
    uptime-kuma: readback of the seeded status page http=200 found=True
2026/09/30 16:09:36 update.go:536: [INFO] [stacks] update uptime-kuma: accepted — guarded update started
2026/09/30 16:09:36 update.go:1365: [INFO] [stacks] update uptime-kuma: phase checking
2026/09/30 16:09:36 update.go:786: [INFO] [stacks] update uptime-kuma: ladder — the last step (1 of 1) — the catalog's current definition
2026/09/30 16:09:36 update.go:816: [INFO] [stacks] update uptime-kuma: no usable copy on any tier — younger than 24h0m0s and not older than this install's deploy (2026-09-30T16:08:40Z) (found: none) — backing up first
2026/09/30 16:09:36 update.go:1365: [INFO] [stacks] update uptime-kuma: phase backing-up
2026/09/30 16:09:41 update.go:831: [INFO] [stacks] update uptime-kuma: precondition met after the backup — Tier 2 (second drive) copy from 2026-09-30T16:09:40Z
2026/09/30 16:09:41 update.go:1365: [INFO] [stacks] update uptime-kuma: phase safety-dump
2026/09/30 16:09:41 update.go:846: [INFO] [stacks] update uptime-kuma: safety dump done (0 file(s)) []
2026/09/30 16:09:42 undo.go:287: [INFO] [stacks] update uptime-kuma: the undo copy will hold 1 named volume(s), 0.3 MiB
2026/09/30 16:09:42 update.go:1365: [INFO] [stacks] update uptime-kuma: phase pinning
2026/09/30 16:09:42 pin.go:373: [INFO] [stacks] update uptime-kuma: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/uptime-kuma/docker-compose.yml (uptime-kuma=louislam/uptime-kuma:2.5.5)
2026/09/30 16:09:42 update.go:1365: [INFO] [stacks] update uptime-kuma: phase pulling
2026/09/30 16:09:58 update.go:1365: [INFO] [stacks] update uptime-kuma: phase copying
2026/09/30 16:10:02 update.go:1365: [INFO] [stacks] update uptime-kuma: phase copying
2026/09/30 16:10:03 undo.go:437: [INFO] [stacks] update uptime-kuma: copied uptime-kuma_uptime_kuma_data → uptime-kuma_uptime_kuma_data.pre-update-20260930T161002Z in 1.1s
2026/09/30 16:10:03 update.go:1365: [INFO] [stacks] update uptime-kuma: phase starting
2026/09/30 16:10:04 update.go:1365: [INFO] [stacks] update uptime-kuma: phase verifying
2026/09/30 16:10:09 update.go:997: [INFO] [stacks] update uptime-kuma: healthy after 5s (the app's health check passed)
2026/09/30 16:10:09 update.go:1033: [INFO] [stacks] update uptime-kuma: DONE in 34s

RESULT final_phase=done after={'uptime-kuma': 'louislam/uptime-kuma:2.5.5'} seed_after=True verdict=proven (33.9 s)
