Demo images / Build & push demo images (push) Failing after 40s
Pin bumps (all verified pullable from their public registries before editing, so none can become an image-not-found on a node): strfry 1.1.1 -> 1.1.2 (dockurr/strfry, direct pull) btcpay-server 2.4.2 -> 2.4.3 (docker.io/btcpayserver, direct pull) netbird (nginx) 1.31.3-alpine -> 1.31.4-alpine pine (nginx) 1.31.3-alpine -> 1.31.4-alpine image-versions.sh moved in lockstep for BTCPAY_IMAGE — it is the baseline the update badge compares against. Held back deliberately, per the risk policy from the Aug-17 pass: gitea (four minors of DB migrations), portainer (six minors), filebrowser (2.27 -> 2.63), fedimint/gateway (0.8 -> 0.12, real migrations), lnd (money-critical), netbird-server/ netbird-dashboard (0.x, must move in lockstep), and everything with a major jump or a data migration. Cuprate also gets its curated store entry (category money, tier optional, icon, repo) — same shape as the Alby Hub / phoenixd entries — synced through generate-app-catalog.py into both store catalogs and the app-session config. The fips launch-port list is unchanged (Cuprate has no UI port; the generated file round-trips to the committed bytes after cargo fmt). Three further bumps are prepared and parked on the app-bumps-mirror-pending branch, blocked only on a registry-push token: vaultwarden 1.37.2-alpine, archy-nbxplorer 2.6.11, home-assistant 2026.8.3 — all mirror-backed, and the push credential on record for the lfg2025 namespace is dead. Drift gate: check-app-catalog-drift.py --release --strict clean (31 store entries, 0 drift, 0 missing). appSessionConfig tests 7/7.