mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
The adapter was the only image in the tree pinned by a hand-maintained digest, and the pin was never recomputed by anything. It drifted twice: run 31374959721 lost seven of eight jobs to mirror/docker.io/python@sha256:6771159c... not found, and the renewal to the newest upstream digest earlier today would have reproduced it, because builds resolve FROM against the GHCR mirror while the mirror is copied by tag and lags upstream by design. The base is now FROM <image>:<version>, taken from the sidecar service in meta/services.yml - the only file iter_role_images scans, so the tag the build asks for is by construction the tag the mirror was told to copy. The version moves from the moving 3.13-slim to 3.13.15-slim, which upstream stops rewriting once published, and which the existing version drift job renews like every other image. With the build reading services.yml, the adapter block's digest, image and version had no consumer left. They are removed together with the schema check for the digest form, the warn-only drift test, and the manifest_digest helper that existed only for it. What remains in the block describes the adapter rather than the image it is built from. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>