before: pinned={'rallly': 'lukevella/rallly:4.11.1', 'rallly-postgres': 'postgres:16-alpine'} PG_VERSION=16
drill: SKIPPED — the drill commit was made by an earlier attempt
  phase +0.0s safety-dump | err=None
  phase +2.1s pulling | err=None
  phase +3.1s copying | err=None
  phase +14.4s converting | err=None
  phase +21.6s starting | err=None
  phase +22.6s verifying | err=None
  phase +32.8s done | err=None
    rallly: readback of the seeded poll http=200 found=True
2026/09/30 10:49:08 update.go:536: [INFO] [stacks] update rallly: accepted — guarded update started
2026/09/30 10:49:08 update.go:1365: [INFO] [stacks] update rallly: phase checking
2026/09/30 10:49:08 update.go:786: [INFO] [stacks] update rallly: ladder — the last step (1 of 1) — the catalog's current definition
2026/09/30 10:49:08 update.go:800: [INFO] [stacks] update rallly: this step CONVERTS rallly-postgres PostgreSQL 16 → 18 (the ladder entry's mark); database volume rallly_rallly_postgres_data
2026/09/30 10:49:08 update.go:814: [INFO] [stacks] update rallly: precondition met — Tier 2 (second drive) copy from 2026-09-30T10:47:40Z (1m0s old, limit 24h0m0s)
2026/09/30 10:49:08 update.go:1365: [INFO] [stacks] update rallly: phase safety-dump
2026/09/30 10:49:08 update.go:846: [INFO] [stacks] update rallly: safety dump done (1 file(s)) [/mnt/sys_drive/felhom-data/backups/primary/rallly/db-dumps/pre-restore-20260930T104908Z-rallly-postgres.sql]
2026/09/30 10:49:09 undo.go:287: [INFO] [stacks] update rallly: the undo copy will hold 1 named volume(s), 64.3 MiB
2026/09/30 10:49:09 pgconvert.go:340: [INFO] [stacks] update rallly: conversion space — database volume rallly_rallly_postgres_data is 64 MB; the dump needs up to 80 MB + the 2 GB floor; 27.7 GB free beside the stack dir
2026/09/30 10:49:09 update.go:1365: [INFO] [stacks] update rallly: phase pinning
2026/09/30 10:49:09 pin.go:373: [INFO] [stacks] update rallly: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/rallly/docker-compose.yml (rallly=lukevella/rallly:4.11.1, rallly-postgres=postgres:18-alpine)
2026/09/30 10:49:09 update.go:1365: [INFO] [stacks] update rallly: phase pulling
2026/09/30 10:49:10 update.go:1365: [INFO] [stacks] update rallly: phase copying
2026/09/30 10:49:21 update.go:1365: [INFO] [stacks] update rallly: phase copying
2026/09/30 10:49:21 undo.go:437: [INFO] [stacks] update rallly: copied rallly_rallly_postgres_data → rallly_rallly_postgres_data.pre-update-20260930T104921Z in 730ms
2026/09/30 10:49:21 update.go:1365: [INFO] [stacks] update rallly: phase converting
2026/09/30 10:49:21 pgconvert.go:423: [INFO] [stacks] update rallly: CONVERTING rallly-postgres PostgreSQL 16 → 18 (volume rallly_rallly_postgres_data, kept copy rallly_rallly_postgres_data.pre-update-20260930T104921Z)
2026/09/30 10:49:23 pgconvert.go:468: [INFO] [stacks] update rallly: pg_dumpall from 16 done in 482ms — 89 kB, completion line present; before: 2 database(s), 31 table(s), 138 row(s)
2026/09/30 10:49:23 update.go:1365: [INFO] [stacks] update rallly: phase converting
2026/09/30 10:49:24 pgconvert.go:484: [INFO] [stacks] update rallly: database volume rallly_rallly_postgres_data emptied (its copy rallly_rallly_postgres_data.pre-update-20260930T104921Z holds the old datadir, marker checked twice)
2026/09/30 10:49:28 pgconvert.go:513: [INFO] [stacks] update rallly: loaded into 18 in 1.061s (dropped the entrypoint's empty database(s) [rallly]; skipped CREATE ROLE for [rallly])
2026/09/30 10:49:29 pgconvert.go:529: [INFO] [stacks] update rallly: CONVERTED 16 → 18 in 7.061s — the check is equal (2 database(s), 31 table(s), 138 row(s)), PG_VERSION 18
2026/09/30 10:49:29 update.go:1365: [INFO] [stacks] update rallly: phase starting
2026/09/30 10:49:30 update.go:1365: [INFO] [stacks] update rallly: phase verifying
2026/09/30 10:49:40 update.go:997: [INFO] [stacks] update rallly: healthy after 10s (the app's health check passed)
2026/09/30 10:49:40 update.go:1015: [INFO] [stacks] update rallly: KEEPING the pre-conversion datadir copy rallly_rallly_postgres_data.pre-update-20260930T104921Z (PostgreSQL 16) until a backup of the converted app is proven
2026/09/30 10:49:40 update.go:1033: [INFO] [stacks] update rallly: DONE in 33s

RESULT final_phase=done PG_VERSION=18 seed_after=True verdict=proven
