before: pinned={'crafty-controller': 'registry.gitlab.com/crafty-controller/crafty-4:4.10.7'}
drill: c1485a7 DRILL crafty-controller: {'crafty-controller': 'registry.gitlab.com/crafty-controller/crafty-4:4.11.0'} (box proof)
  phase +0.0s backing-up | err=None
  phase +4.1s safety-dump | err=None
  phase +7.2s pulling | err=None
  phase +35.9s copying | err=None
  phase +40.0s starting | err=None
  phase +41.0s verifying | err=None
  phase +51.3s done | err=None
    crafty: readback of the seeded role http=200 found=True (roles listed: 1)
2026/09/30 16:07:34 update.go:536: [INFO] [stacks] update crafty-controller: accepted — guarded update started
2026/09/30 16:07:34 update.go:1365: [INFO] [stacks] update crafty-controller: phase checking
2026/09/30 16:07:34 update.go:786: [INFO] [stacks] update crafty-controller: ladder — the last step (1 of 1) — the catalog's current definition
2026/09/30 16:07:34 update.go:816: [INFO] [stacks] update crafty-controller: no usable copy on any tier — younger than 24h0m0s and not older than this install's deploy (2026-09-30T16:05:59Z) (found: none) — backing up first
2026/09/30 16:07:34 update.go:1365: [INFO] [stacks] update crafty-controller: phase backing-up
2026/09/30 16:07:38 update.go:831: [INFO] [stacks] update crafty-controller: precondition met after the backup — Tier 2 (second drive) copy from 2026-09-30T16:07:36Z
2026/09/30 16:07:38 update.go:1365: [INFO] [stacks] update crafty-controller: phase safety-dump
2026/09/30 16:07:39 update.go:846: [INFO] [stacks] update crafty-controller: safety dump done (0 file(s)) []
2026/09/30 16:07:41 undo.go:287: [INFO] [stacks] update crafty-controller: the undo copy will hold 5 named volume(s), 0.4 MiB
2026/09/30 16:07:41 update.go:1365: [INFO] [stacks] update crafty-controller: phase pinning
2026/09/30 16:07:41 pin.go:373: [INFO] [stacks] update crafty-controller: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/crafty-controller/docker-compose.yml (crafty-controller=registry.gitlab.com/crafty-controller/crafty-4:4.11.0)
2026/09/30 16:07:41 update.go:1365: [INFO] [stacks] update crafty-controller: phase pulling
2026/09/30 16:08:10 update.go:1365: [INFO] [stacks] update crafty-controller: phase copying
2026/09/30 16:08:12 update.go:1365: [INFO] [stacks] update crafty-controller: phase copying
2026/09/30 16:08:12 undo.go:437: [INFO] [stacks] update crafty-controller: copied crafty-controller_crafty_backups → crafty-controller_crafty_backups.pre-update-20260930T160812Z in 462ms
2026/09/30 16:08:12 update.go:1365: [INFO] [stacks] update crafty-controller: phase copying
2026/09/30 16:08:13 undo.go:437: [INFO] [stacks] update crafty-controller: copied crafty-controller_crafty_config → crafty-controller_crafty_config.pre-update-20260930T160812Z in 500ms
2026/09/30 16:08:13 update.go:1365: [INFO] [stacks] update crafty-controller: phase copying
2026/09/30 16:08:13 undo.go:437: [INFO] [stacks] update crafty-controller: copied crafty-controller_crafty_import → crafty-controller_crafty_import.pre-update-20260930T160812Z in 457ms
2026/09/30 16:08:13 update.go:1365: [INFO] [stacks] update crafty-controller: phase copying
2026/09/30 16:08:14 undo.go:437: [INFO] [stacks] update crafty-controller: copied crafty-controller_crafty_logs → crafty-controller_crafty_logs.pre-update-20260930T160812Z in 448ms
2026/09/30 16:08:14 update.go:1365: [INFO] [stacks] update crafty-controller: phase copying
2026/09/30 16:08:14 undo.go:437: [INFO] [stacks] update crafty-controller: copied crafty-controller_crafty_servers → crafty-controller_crafty_servers.pre-update-20260930T160812Z in 440ms
2026/09/30 16:08:14 update.go:1365: [INFO] [stacks] update crafty-controller: phase starting
2026/09/30 16:08:15 update.go:1365: [INFO] [stacks] update crafty-controller: phase verifying
2026/09/30 16:08:25 update.go:997: [INFO] [stacks] update crafty-controller: healthy after 10s (the app's health check passed)
2026/09/30 16:08:25 update.go:1033: [INFO] [stacks] update crafty-controller: DONE in 51s

RESULT final_phase=done after={'crafty-controller': 'registry.gitlab.com/crafty-controller/crafty-4:4.11.0'} seed_after=True verdict=proven (51.3 s)
