Separate deploy job failed because it used ls to find store paths by name, finding OLD local paths instead of the freshly copied CI paths. Now each service builds, copies, and updates its profile in a single job using the exact store path from the build output. No more guessing which path is the right one.