Symptom
Replaced the entry file (index.html) in a deployment bundle and shipped it. The old name and old icon show up, and the CDN denies access. The new screen never appears.
Cause
The bundle's internal shell bootstrap had identity hardcoded.
name ← the shell uses this to locate its own asset paths → access denied
deploymentId ← this is what summons the screen. Unchanged, the old version keeps loading
brand display name / colors / icon ← old identity exposed in the header
A bundle with only its surface file replaced can ship and still never show the new screen. The code is in; the wiring isn't.
★ "I swapped the file" and "that file is what actually gets loaded" are different things.
When transplanting a template or donor bundle, find and replace every identifier the internal bootstrap references. If there is integrity metadata (sizes, hashes), recompute it too.
Left unresolved
If the platform reissues deploymentId at registration, this fix may still not work. Set the next review as the litmus test; if it fails, abandon the transplant and move to the official build chain. When you're not sure a fix works, write down the verdict criterion and the retreat condition in advance.