test(scroll-cards): refresh the goldens #409 made stale - #446
Merged
Conversation
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>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 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. Comment |
Up to standards ✅🟢 Issues
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #445.
scripts/test_scroll_card_renders.pyhas been red onmainsince #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
aa749dd— parent of #409b48524d— mainThese 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
--updateEvery 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.
--updatealso 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:
11:00PMSep 192026-09-19game_renderer.py:802-803formats with%-m/%-dand%-I:%M%p. Those%-forms are glibc extensions; anywhere else they raiseValueError, theexceptfalls back tostart_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.pyhas%-in the path this test drives; the other plugins have it insports.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