Skip to content

ci: screenshot audit fails on rendered overflow at phone and desktop widths - #441

Merged
REPPL merged 1 commit into
mainfrom
ci/site-screenshot-audit-2
Aug 22, 2026
Merged

ci: screenshot audit fails on rendered overflow at phone and desktop widths#441
REPPL merged 1 commit into
mainfrom
ci/site-screenshot-audit-2

Conversation

@REPPL

@REPPL REPPL commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

The website's integration change: spc-37..40 close and itd-135..138 move to shipped/ (fidelity receipts minted; the audits run against the deployed site), the site's single CHANGELOG entry lands under [Unreleased] citing all four intents, the slice-review rulings enter the decision log (the featured-quote placeholder exclusion, the check's references scoping and verification-shaped attribution escape, the deploy stamp contract, the held install.md lead, the fixed build order), and both brief pages read present truth — seven gates and the preview stamp real, the deploy workflow on the release chain, and exactly one design target left: the first production deploy from a tag.

The maintainer's uncommitted parallel-session work (three research notes and a decision entry) is preserved untouched in the working tree, deliberately not swept into this change.

Assisted-by: Claude:claude-fable-5

itd-135 AC 7, itd-136 AC 8 and itd-137 AC 7 all require a screenshot
audit that runs as a CI job. Add it: a real browser loads every route
family plus one representative adr, intent and issue page at 360, 390,
768 and 1360 px, in a light/full-motion context and a dark/reduced-motion
one, and fails when the document scrolls sideways.

Optional by construction, and it must stay that way. It is a separate
workflow with its own triggers, never a required check and never in the
merge queue. adr-47 keeps Node out of the build and admits Playwright in
an optional CI job alone; a browser download on the critical path would
make every release depend on a registry and a 180MB binary nothing else
needs. Rendered layout also goes amber for reasons that are not the
author's fault, and blocking merges on that teaches people to bypass
gates. It runs in no build or deploy path, holds contents: read, has no
environment and no credential.

This is the rendered half of a pair. `abcd site check`'s `mobile` gate is
the static half — viewport meta, overflow containers, image constraints,
inline widths — and that one does gate the release. It reads emitted HTML
and CSS, so it cannot see layout. Run against this tree, the static gate
reports `ok mobile` while the rendered audit finds /references/ at
scrollWidth 484 on a 360px viewport. Complementary, not redundant.

The runner lives in site-src/audit/ and can never reach the site: the
build copies site-src by an explicit five-file allowlist (copiedSources)
with no directory walk anywhere. Verified rather than assumed — building
with and without the directory produces byte-identical 758-file trees,
and site check reports the same findings either way.

Failures name the offending elements and their spans, not just the page,
and every run uploads its 80 screenshots so a failure arrives with the
picture beside it.

Playwright is pinned to 1.62.1 (published 2026-07-30) — the newest
release at least 7 days old, mirroring dependabot's cooldown, since a
version named in a workflow env is invisible to dependabot and npm offers
nothing to verify a download against. zizmor's adhoc-packages finding is
suppressed with its reasoning recorded: a lockfile would be stronger, and
committing one is an ask-first change that adr-47 bears on.

The ACKNOWLEDGEMENTS.md entry that should land with this change is held
back: a pre-existing citation in that file collides with a private,
machine-local banned-name pattern, so the pre-commit gate refuses any
commit that stages it. The entry is written and waiting; it lands as soon
as that local list is reconciled. Not bypassed with --no-verify.

Assisted-by: Claude:claude-fable-5
@REPPL
REPPL enabled auto-merge August 22, 2026 18:10
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
abcd f167e2d Aug 22 2026, 06:10 PM

@REPPL
REPPL added this pull request to the merge queue Aug 22, 2026
Merged via the queue into main with commit 910911e Aug 22, 2026
13 checks passed
@REPPL
REPPL deleted the ci/site-screenshot-audit-2 branch August 22, 2026 18:18
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.

1 participant