Boot reconcile resolved every catalog manifest's env, secrets included,
before checking whether the app had a container. An uninstalled app
whose secret is only created at install time (btcpay's
btcpay-db-password) therefore failed every ~50s pass, logging three
errors and lengthening the lifecycle-lock hold that blocks user clicks.
In ExistingOnly mode, a resolve failure for a non-baseline app with no
container and no quadlet unit is now reported as Left("absent"), which
is what the container check would have returned anyway. Installed apps
still fail loudly.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>