Skip to content

fix(tests): let golden renders tolerate a promoted digest - #75

Merged
EstebanGZam merged 1 commit into
mainfrom
fix/golden-renders-ignore-digest
Aug 25, 2026
Merged

fix(tests): let golden renders tolerate a promoted digest#75
EstebanGZam merged 1 commit into
mainfrom
fix/golden-renders-ignore-digest

Conversation

@EstebanGZam

Copy link
Copy Markdown
Contributor

The defect

Every one of the ten re-issued promotion PRs fails profile-contracts:

FAIL: frontend/dev economical render changed.

Nothing is wrong with those PRs. The golden comparison is byte-exact over the
whole render, including the image digest — the one field designed to change
on every release. So the repaired promotion pipeline
(MicroTodoSuite/.github#11) would still have been blocked, just one step later.

The fix

The goldens exist to prove composition is unchanged across the profile split,
not to pin a release. Both sides now normalize @sha256:<64 hex> to a
placeholder before comparing, so a promotion no longer has to rewrite them.

The gate stays strict

Verified by mutation against the real overlays:

Mutation Result
New digest (legitimate promotion) passes
replicas 1 → 3 fails
namespace changed fails
Digest replaced by a mutable tag fails

Only the exact digest shape is normalized, so dropping to latest is still
caught here, as well as by the separate mutable-image job.

Effect

Unblocks #64#73, the ten stranded promotions re-issued onto the current layout.

The golden comparison was byte-exact over the whole render, including the
image digest. That froze the one field designed to change on every release:
every legitimate promotion failed the gate, so the repaired promotion
pipeline would still have been blocked, just one step later.

The goldens exist to prove COMPOSITION is unchanged across the profile
split, not to pin a release. Both sides now normalize @sha256:<64 hex> to a
placeholder before comparing, so a promotion no longer has to rewrite them.

The gate stays strict everywhere else. Verified by mutation:

  new digest (legitimate promotion)  -> passes
  replicas 1 -> 3                    -> fails
  namespace changed                  -> fails
  digest replaced by a mutable tag   -> fails

Only the exact digest shape is normalized, so dropping to `latest` is still
caught here as well as by the mutable-image job.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01168FA9JzE59y8DbCCn1wMi
@EstebanGZam
EstebanGZam merged commit 4882d37 into main Aug 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants