systemctl restart (Type=simple, no readiness protocol) returns as soon as podman compose up --build forks, before the build or the container start have actually finished - a build failure or crash loop would still show as a green deploy job. Poll /api/health for up to 5 minutes (comfortably above the ~3.5min worst-case cold rebuild) and fail the job if it never answers.