Visual QA
Judge only the rendered surface affected by the change. A blocking defect fails that surface.
Process
- Enumerate affected routes, tabs, modal/menu states, scroll regions, themes, breakpoints, slides or terminal states.
- Reuse sufficient current evidence when the relevant source, rendered state, viewport, theme, and criterion have not changed. Otherwise capture after the last relevant edit. Broad changes need full affected-surface coverage; small changes need only the relevant surface.
- Use available browser tools or
$cx-browser-automation for web interaction and capture. Preserve text and ANSI evidence for TUI work.
- Check functional/design-system and visual-fidelity concerns in one focused pass for small changes. Split passes only when the surface is broad or reference-sensitive.
- Report
PASS, FAIL, or NOT_PROVEN with blocking issues or proof gaps first and evidence paths.
Load references/visual-contract.md for evidence semantics and references/review-checklist.md for concrete defect lenses.
Helpers
- Image diff and TUI utilities:
scripts/visual-qa.mjs
- Terminal evidence:
scripts/terminal_visual_qa.mjs
The helpers run directly with Node.js and have no npm package dependency. If node is missing, propose the exact installation command. Preserve capture, dimension, parsing and comparison failures as their real failure type.
Blocking defects
FAIL: an observed rendered surface contains unreadable or clipped text, broken CJK semantic wrapping in the changed area, overlap, an affected responsive or interaction defect, or a violation of the active design-system contract.
NOT_PROVEN: required coverage is missing or stale, or a browser, tool, session, permission, capture, or access problem prevents observation.
PASS: every required affected surface is observed with sufficient evidence and no blocking defect is found.
1---2name: cx-visual-qa3description: Verify rendered web, mobile or terminal UI changes with current, sufficient, scope-proportional evidence. Use for screenshot or pixel comparison, reference fidelity, responsive and interaction states, design-system compliance, CJK wrapping, clipping, overflow and final visual PASS, FAIL, or NOT_PROVEN judgments.4---56# Visual QA78Judge only the rendered surface affected by the change. A blocking defect fails that surface.910## Process11121. Enumerate affected routes, tabs, modal/menu states, scroll regions, themes, breakpoints, slides or terminal states.132. Reuse sufficient current evidence when the relevant source, rendered state, viewport, theme, and criterion have not changed. Otherwise capture after the last relevant edit. Broad changes need full affected-surface coverage; small changes need only the relevant surface.143. Use available browser tools or `$cx-browser-automation` for web interaction and capture. Preserve text and ANSI evidence for TUI work.154. Check functional/design-system and visual-fidelity concerns in one focused pass for small changes. Split passes only when the surface is broad or reference-sensitive.165. Report `PASS`, `FAIL`, or `NOT_PROVEN` with blocking issues or proof gaps first and evidence paths.1718Load `references/visual-contract.md` for evidence semantics and `references/review-checklist.md` for concrete defect lenses.1920## Helpers2122- Image diff and TUI utilities: `scripts/visual-qa.mjs`23- Terminal evidence: `scripts/terminal_visual_qa.mjs`2425The helpers run directly with Node.js and have no npm package dependency. If `node` is missing, propose the exact installation command. Preserve capture, dimension, parsing and comparison failures as their real failure type.2627## Blocking defects2829- `FAIL`: an observed rendered surface contains unreadable or clipped text, broken CJK semantic wrapping in the changed area, overlap, an affected responsive or interaction defect, or a violation of the active design-system contract.30- `NOT_PROVEN`: required coverage is missing or stale, or a browser, tool, session, permission, capture, or access problem prevents observation.31- `PASS`: every required affected surface is observed with sufficient evidence and no blocking defect is found.