feat: add deterministic visual-change detection for PRs. - #7742
Draft
BillLeoutsakosvl346 wants to merge 22 commits into
Draft
feat: add deterministic visual-change detection for PRs.#7742BillLeoutsakosvl346 wants to merge 22 commits into
BillLeoutsakosvl346 wants to merge 22 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
added 7 commits
September 10, 2026 21:27
…bility resolution
…engine # Conflicts: # package.json # scripts/check-script-test-coverage.ts # vitest.scripts.config.ts
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.
Summary
Add an advisory deterministic designer-notification engine for PRs targeting
staging. It reads immutable Git objects and flags supported appearance changes: shared styles, local colour/padding, typography, layout and custom styling on new controls. Copy, routine documentation, media, extra options, unchanged shared-component reuse and uncertainty alone are exempt.Results are bounded, deterministic JSON artifacts. No PR comments, labels, annotations, Slack, screenshots or AI are added. Schema 3.0.0, engine 0.5.2, policy 5.0.0 use binary
flag/exempt; operational failures exit nonzero withflagged: null.The trusted production workflow activates after reaching main. Its absence on this draft PR is not a passing cloud analysis.
Type of Change
The notification policy is narrower than earlier engine revisions. Consumers must check schema and policy versions.
Testing
Bun 1.4.1: 554 tests / 35 suites passed. Engine type check, Biome, API-validation audit, test discovery, frozen dependency install and workflow validation passed. Current head
b3b25a54ecb33fcc45715aa187383d77555e5456: CI is running; local validation is complete.Cloud evaluation ran the same frozen 180 comparisons against
3c49d5bdb0817ac030ca8a56be779af323fc57d5:Previously: 112/178 (62.9%), with two failures. All 180 now completed. All 17 previously identified backend false positives are clean. Review of current notifications found 25 qualifying, five apparent false positives and one borderline case. Original broad-content labels remain unchanged; this is source review, not pixel ground truth.
Median comparison: 55.7s; maximum: 670.3s. Maximum peak memory: 2.31 GiB. Largest report: 1.59 MiB. Cloud wall time: 21 minutes across 30 workers; no application builds.
Subsequent consolidation removes 763 net lines across two cleanup commits. The final pass removes unused SVG movement machinery and ignored comparison arguments, and validates current documentation inputs without comparing exempt content. 23 synthetic before/after reports matched byte-for-byte, and file/symbol renaming regressions pass. The earlier cleanup also matched 695 extractor comparisons. The cleanups have not had a separate full historical replay.
No new PR-specific exceptions were added. Existing repository conventions and notification policy remain fixed. Both historical cohorts have informed development; the next generalization check must use a fresh independently labeled sample without tuning during evaluation.
Remaining limitations: media wrappers, OG-only fonts, removed copy wrappers and unused DOM measurement can still flag; unknown runtime styling can be missed. Matching and consumer counts are partial. The benchmark does not establish complete recall.
Checklist
Screenshots/Videos
Not applicable; repository automation only. Output is a versioned JSON artifact.