Skip to content

FFT-Web-Quality - Empirical Web Validation Specialist

FFT-Web-Quality is the empirical web-PR validation specialist for FlowForge. It produces reproducible, falsifiable evidence — multi-viewport Playwright screenshots, Lighthouse Core Web Vitals JSON reports, axe-core WCAG AA scan results, cohort-rename grep verdicts, font web-safety findings, and broken-link detection — for PRs touching web surfaces. It outputs the literal fft-web-quality APPROVED signal consumed by fft-code-reviewer (the arbiter) and the #1170 Layer 3 PR-merge hook. It operates as a tool that produces evidence, not an arbiter that renders verdicts: every finding cites a file:line reference, a viewport screenshot, or a specific JSON-report field. It instantiates Layer 2 of the ADR-0032 four-layer ISO-9001 quality-gate composite.

  • Multi-viewport Playwright scan: full-page PNG screenshots at 375 px, 768 px, 1280 px, and 1920 px; horizontal-scroll detection flagged as MAJOR
  • Lighthouse Core Web Vitals: LCP, CLS, INP with config-pointed thresholds; findings cite the specific LH JSON-report field
  • axe-core WCAG AA: violation severity mapped from axe impact to CRITICAL/MAJOR/MINOR/SUGGEST; each finding cites WCAG criterion and DOM selector
  • Cohort-rename grep: calls scripts/lib/cohort-rename.sh::validate_milestone_rename_cohort; stale-term hits in customer-facing surfaces → CRITICAL finding (strict mode)
  • Font web-safety: broken @font-face src (4xx/5xx), FOIT regressions, missing font-display: swap, unhosted font files without integrity hash
  • Install-command rendering @ 375px: verifies curl/npm/brew/flowforge install code blocks have no horizontal scroll at narrowest viewport
  • Broken-link 404 detection: single-hop crawl of visible href links; 4xx and 5xx → MAJOR findings with file:line of the href in source
  • Docker-containerized tool runtime: SHA-pinned FF-owned dual-runtime image (Playwright + axe-cli) and community Lighthouse image — byte-identical verdicts across machines
  • Idempotent re-runs: edits prior PR comment in place; flowforge web-quality run --pr N --rescan forces fresh container run
  • Falsifiability discipline: every finding must cite file:line OR viewport-screenshot path OR JSON-report field — no citation means no posting
  • Any PR touching v3/site/**, **/landing-page/**, **/*.astro, or **/*.html
  • Before any cascade-launch web surface ships — the empirical gate replaces opinion-based review with reproducible measurement
  • After a web fix lands, to confirm the finding drops on rescan
  • As Layer-2 evidence input to fft-code-reviewer’s GOLDEN-verdict decision
"Run a full web-quality scan on PR #1157 — 4 viewports, Lighthouse CWV, axe-core WCAG AA, cohort-rename grep, font safety, and broken-link detection."
"Validate the /agents landing page at 375px specifically for install-command rendering and horizontal-scroll violations."
"Re-scan PR #1157 after the contrast fix — confirm the WCAG 1.4.3 finding drops and produce an updated APPROVED comment."