# 2026-09-30T10:53:05Z sparkyfitness undo-case setup
12:53:06   [X] stop -> 200 {'ok': True, 'message': 'Stack sparkyfitness stop completed'}
12:53:38   [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'sparkyfitness', 'volumes_removed': ['sparkyfitness_sparkyfitness_backup', 'sparkyfitness_sparkyfitness_db_data', 'sparkyfitnes
12:53:46   [X] after remove: deployed=False leftovers='/opt/docker/stacks/sparkyfitness'
volumes left: none
drill step commit: 16ce915
remote: . Processing 1 references        
remote: Processed 1 references in total        
5f6fa27 Revert "DRILL sparkyfitness: sparkyfitness-db postgres:15-alpine -> postgres:18-alpine with the engine_conversion mark (box proof)"
12:55:09   [sync] the badge NEVER caught up to postgres:15-alpine in 78.8s — catalog_images = None
sync_rescan None
12:55:40   [1] NOTE: the controller's own state is 'unhealthy', not 'running' — recorded, not treated as a failure; the fixture's front-door wait is the real gate
12:55:40 deploy/reuse sparkyfitness: True
12:55:40     gate: sparky is gated — passed as the household (cookie set)
12:55:40     sparkyfitness: sign-up http=200
12:55:41     sparkyfitness: check-in http=200
12:55:41     sparkyfitness: seeded user drill589ab8 with a weight of 57.27 on 2026-09-01
12:55:41     sparkyfitness: readback of the seeded weight http=200 equal=True
12:55:41 C1 seed reads back BEFORE: True
remote: . Processing 1 references        
remote: Processed 1 references in total        
56837ac Reapply "DRILL sparkyfitness: sparkyfitness-db postgres:15-alpine -> postgres:18-alpine with the engine_conversion mark (box proof)"
sync_rescan 4.5
12:55:50 before: PG_VERSION=15 pinned={'sparkyfitness-db': 'postgres:15-alpine', 'sparkyfitness-frontend': 'codewithcj/sparkyfitness:v0.17.3', 'sparkyfitness-server': 'codewithcj/sparkyfitness_server:
12:56:06 before: seed reads back through the front door = True
12:56:09 setup: CREATE EXTENSION adminpack -> CREATE EXTENSION
12:56:12 setup: extensions now: adminpack plpgsql
12:56:13 control: 18 has no adminpack: 0
12:57:32   phase +0.0s backing-up | err=None
12:57:32   phase +25.7s safety-dump | err=None
12:57:32   phase +28.7s pulling | err=None
12:57:32   phase +29.8s copying | err=None
12:57:32   phase +32.8s converting | err=None
12:57:32   phase +43.1s undoing | err=None
12:57:32   phase +74.9s undone | err=None
12:57:45 after: PG_VERSION=15 pinned={'sparkyfitness-db': 'postgres:15-alpine', 'sparkyfitness-frontend': 'codewithcj/sparkyfitness:v0.17.3', 'sparkyfitness-server': 'codewithcj/sparkyfitness_server:v
12:57:45 after: seed reads back through the front door = True
12:57:52 RESULT undo case ok=True final_phase=undone PG_VERSION=15 seed_after=True
