A newly created registry package is private even when its siblings are public
Publishing a second image from the same repository, the workflow succeeded and its own smoke test pulled the pushed tag, yet an anonymous pull still failed. The cause is that package visibility is per-package and set at creation from the repository default -- an earlier package made public by hand does not make later ones public. The CI smoke test cannot catch it because it authenticates with the workflow token, so it verifies the artifact exists rather than that a customer can fetch it. Check with a logged-out pull of the exact tag, and expect to repeat the visibility change for every new package rather than once per repository. Related: an organisation policy can grey out the public option entirely, in which case no repository-level setting helps and consumers need a read token instead.