before: pinned={'calcom': 'calcom/cal.com:v6.2.0', 'calcom-postgres': 'postgres:16-alpine'} PG_VERSION=16
drill: 96b0cf2 DRILL calcom: calcom-postgres postgres:16-alpine -> postgres:18-alpine with the engine_conversion mark (box proof)
    calcom: readback — the seeded user's page http=200

RESULT final_phase=None PG_VERSION=16 seed_after=True verdict=failed
before: pinned={'calcom': 'calcom/cal.com:v6.2.0', 'calcom-postgres': 'postgres:16-alpine'} PG_VERSION=16
drill: SKIPPED — the drill commit was made by an earlier attempt
  phase +0.0s backing-up | err=None
  phase +19.5s safety-dump | err=None
  phase +20.5s pulling | err=None
  phase +21.5s copying | err=None
  phase +33.9s converting | err=None
  phase +46.2s starting | err=None
  phase +47.2s verifying | err=None
  phase +67.7s done | err=None
    calcom: readback — the seeded user's page http=200
2026/09/28 09:47:10 update.go:536: [INFO] [stacks] update calcom: accepted — guarded update started
2026/09/28 09:47:10 update.go:1365: [INFO] [stacks] update calcom: phase checking
2026/09/28 09:47:10 update.go:786: [INFO] [stacks] update calcom: ladder — the last step (1 of 1) — the catalog's current definition
2026/09/28 09:47:10 update.go:800: [INFO] [stacks] update calcom: this step CONVERTS calcom-postgres PostgreSQL 16 → 18 (the ladder entry's mark); database volume calcom_calcom_postgres_data
2026/09/28 09:47:10 update.go:816: [INFO] [stacks] update calcom: no usable copy on any tier — younger than 24h0m0s and not older than this install's deploy (2026-09-28T09:14:51Z) (found: none) — backing up first
2026/09/28 09:47:10 update.go:1365: [INFO] [stacks] update calcom: phase backing-up
2026/09/28 09:47:29 update.go:831: [INFO] [stacks] update calcom: precondition met after the backup — Tier 2 (second drive) copy from 2026-09-28T09:47:10Z
2026/09/28 09:47:29 update.go:1365: [INFO] [stacks] update calcom: phase safety-dump
2026/09/28 09:47:29 update.go:846: [INFO] [stacks] update calcom: safety dump done (1 file(s)) [/mnt/sys_drive/felhom-data/backups/primary/calcom/db-dumps/pre-restore-20260928T094729Z-calcom-postgres.sql]
2026/09/28 09:47:30 undo.go:287: [INFO] [stacks] update calcom: the undo copy will hold 1 named volume(s), 70.5 MiB
2026/09/28 09:47:30 pgconvert.go:340: [INFO] [stacks] update calcom: conversion space — database volume calcom_calcom_postgres_data is 71 MB; the dump needs up to 88 MB + the 2 GB floor; 27.7 GB free beside the stack dir
2026/09/28 09:47:30 update.go:1365: [INFO] [stacks] update calcom: phase pinning
2026/09/28 09:47:30 pin.go:373: [INFO] [stacks] update calcom: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/calcom/docker-compose.yml (calcom=calcom/cal.com:v6.2.0, calcom-postgres=postgres:18-alpine)
2026/09/28 09:47:30 update.go:1365: [INFO] [stacks] update calcom: phase pulling
2026/09/28 09:47:31 update.go:1365: [INFO] [stacks] update calcom: phase copying
2026/09/28 09:47:42 update.go:1365: [INFO] [stacks] update calcom: phase copying
2026/09/28 09:47:43 undo.go:437: [INFO] [stacks] update calcom: copied calcom_calcom_postgres_data → calcom_calcom_postgres_data.pre-update-20260928T094742Z in 721ms
2026/09/28 09:47:43 update.go:1365: [INFO] [stacks] update calcom: phase converting
2026/09/28 09:47:43 pgconvert.go:423: [INFO] [stacks] update calcom: CONVERTING calcom-postgres PostgreSQL 16 → 18 (volume calcom_calcom_postgres_data, kept copy calcom_calcom_postgres_data.pre-update-20260928T094742Z)
2026/09/28 09:47:46 pgconvert.go:468: [INFO] [stacks] update calcom: pg_dumpall from 16 done in 713ms — 520 kB, completion line present; before: 2 database(s), 122 table(s), 828 row(s)
2026/09/28 09:47:47 update.go:1365: [INFO] [stacks] update calcom: phase converting
2026/09/28 09:47:48 pgconvert.go:484: [INFO] [stacks] update calcom: database volume calcom_calcom_postgres_data emptied (its copy calcom_calcom_postgres_data.pre-update-20260928T094742Z holds the old datadir, marker checked twice)
2026/09/28 09:47:55 pgconvert.go:513: [INFO] [stacks] update calcom: loaded into 18 in 4.156s (dropped the entrypoint's empty database(s) [calcom]; skipped CREATE ROLE for [calcom])
2026/09/28 09:47:55 pgconvert.go:529: [INFO] [stacks] update calcom: CONVERTED 16 → 18 in 12.677s — the check is equal (2 database(s), 122 table(s), 828 row(s)), PG_VERSION 18
2026/09/28 09:47:55 update.go:1365: [INFO] [stacks] update calcom: phase starting
2026/09/28 09:47:56 update.go:1365: [INFO] [stacks] update calcom: phase verifying
2026/09/28 09:48:16 update.go:997: [INFO] [stacks] update calcom: healthy after 20s (the app's health check passed)
2026/09/28 09:48:17 update.go:1015: [INFO] [stacks] update calcom: KEEPING the pre-conversion datadir copy calcom_calcom_postgres_data.pre-update-20260928T094742Z (PostgreSQL 16) until a backup of the converted app is proven
2026/09/28 09:48:17 update.go:1033: [INFO] [stacks] update calcom: DONE in 1m7s

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