Skip to content

test(scroll-cards): refresh the goldens #409 made stale - #446

Merged
ChuckBuilds merged 1 commit into
mainfrom
fix/refresh-scroll-card-goldens
Sep 5, 2026
Merged

test(scroll-cards): refresh the goldens #409 made stale#446
ChuckBuilds merged 1 commit into
mainfrom
fix/refresh-scroll-card-goldens

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

Closes #445.

scripts/test_scroll_card_renders.py has been red on main since #409, which makes the safety check fail on every open PR regardless of what that PR touches — #428 failed it while changing only one plugin's README and manifest. The signal was useless: a real render regression would have looked identical to the noise.

Measured, not assumed

Commit Result
aa749dd — parent of #409 72 cards, 3 problems
b48524d — main 72 cards, 42 problems

These 39 are the difference. #409 deliberately changed which font several text elements draw in, so the goldens committed on 2026-08-02 describe the old, wrong rendering.

What I checked before trusting --update

Every regenerated card was compared with its predecessor pixel by pixel, and four were inspected visually. The text content is identical and only the glyph shapes change — which is what a font swap should look like.

--update also rewrote 24 cards whose pixels had not changed at all — encoder metadata, presumably. Those are reverted, so this diff is only the 39 that genuinely differ.

Baseball's three cards are deliberately excluded

They are exactly the 3 that were failing before #409, and looking at the render showed why they fail for an unrelated reason:

Top line Bottom line
Committed golden 11:00PM Sep 19
Regenerated off-glibc 2026-09-19 (time gone entirely)

game_renderer.py:802-803 formats with %-m/%-d and %-I:%M%p. Those %- forms are glibc extensions; anywhere else they raise ValueError, the except falls back to start_time[:10], and the card loses its start time and shows a raw ISO date.

The committed goldens are correct — they were generated on glibc. Regenerating them anywhere else would have baked the broken output in as the new truth, which is the one thing a goldens refresh must not do. They stay untouched, and the bug is filed separately.

Only baseball-scoreboard/game_renderer.py has %- in the path this test drives; the other plugins have it in sports.py, the switch-card path, which is not exercised here. So the other 39 are unaffected.

Verification

CI runs on Linux, the platform these goldens are generated for, so its result on this PR is the real check that the 39 are right.

🤖 Generated with Claude Code

scripts/test_scroll_card_renders.py has been red on main since #409,
which made the safety check fail on every open PR regardless of what
that PR touched -- #428 fails it while changing only one plugin's README
and manifest. The signal was useless: a real render regression would
have looked identical to this noise.

#409 deliberately changed which font several text elements draw in, so
the goldens committed on 2026-08-02 describe the old, wrong rendering.
Measured: at the parent of #409 the guard reports 3 problems, on main it
reports 42. These 39 are that difference.

Checked rather than assumed. Every regenerated card was compared against
its predecessor pixel by pixel, and the four sampled visually: the text
content is identical and only the glyph shapes change, which is what a
font swap should look like. --update also rewrote 24 cards whose pixels
had not changed at all, presumably encoder metadata; those are reverted
so the diff is only the 39 that actually differ.

Baseball's three upcoming cards are deliberately NOT refreshed. They are
the 3 that were already failing before #409, and they fail for an
unrelated reason: game_renderer.py formats the date with %-m/%-d and
%-I:%M%p, which are glibc extensions. Off glibc they raise, the except
falls back to a raw ISO string, and the card loses its start time and
shows 2026-09-19 instead of Sep 19. The committed goldens are correct;
regenerating them anywhere but glibc would bake the broken output in.
Filed separately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: a234e734-5bf5-47e2-9864-e1abe938b561


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@ChuckBuilds
ChuckBuilds merged commit 96d0be8 into main Sep 5, 2026
4 checks passed
@ChuckBuilds
ChuckBuilds deleted the fix/refresh-scroll-card-goldens branch September 5, 2026 00:13
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.

scroll-card goldens are stale since #409, failing the safety check on every open PR

1 participant