feat(mwpw-184989): multi-page agent QA review with PR-aware routing#535
feat(mwpw-184989): multi-page agent QA review with PR-aware routing#535sanrai wants to merge 4 commits into
Conversation
🤖 Agent QA review — multi-page, interactive + visual diff (advisory, non-blocking)Reviewed 1 page(s) on the live site with the PR build injected. Overall: PASS. PASS — A-left-hub · 0.00% pixels changed · https://business.adobe.com/customer-success-stories.htmlQA Review Report — PR #535 (feat(mwpw-184989): multi-page agent QA review with PR-aware routing)Target URL: https://business.adobe.com/customer-success-stories.htmlPre-captured Pixel Diff
PR Code Changes SummaryThis PR refactors the
Live Page ObservationsInitial Load
Filter Panel
Filter Expansion Test
Card Grid
Issues FoundNone. The PR makes no changes to any front-end CaaS component. The 0.00% pixel diff confirms no visual regression. The page loads, filters expand, cards render, and the result count displays correctly. VerdictThe PR is a CI/tooling-only change (agent-review.mjs refactor for multi-page QA support). It has no impact on the rendered customer-success-stories page. All visible UI elements — filter panel, search, sort, card grid, result count — appear correct and unbroken. Per-page screenshots + diffs in the workflow run. |
AI Code ReviewCritical Issues1. Sequential page loop with shared CDP browser — race condition / connection leakIn
However, in the new loop: for (const page of selected) {
const pct = await captureDiff(page.url, page.id); // closes CDP client
// ... then spawnSync qa-runner ... // qa-runner connects
// ... qa-runner finishes ...
// next iteration: captureDiff connects again
}This is sequential so the logic is preserved — but Fix: Use 2. AGENT_TIMEOUT_MS reduced from 600 s to 180 s per page, but up to 5 pages can runWith 3.
|
| Severity | Issue |
|---|---|
| High | browser.close() may kill the persistent Chrome; use browser.disconnect() |
| Medium | Crashed/killed qa-runner leaves stale CDP context; next captureDiff reuses it |
AI Code ReviewCritical Issues1. Sequential CDP connections cause browser resource exhaustion / hangsIn Fix: Connect once before the loop, disconnect (not close) after, or use 2.
|
AI Code ReviewIssues Found1. Sequential per-page agent runs may silently starve on timeoutEach page now runs Fix: Either cap 2. CDP browser left connected across sequential
|
…enting, lower turn budget
AI Code ReviewCritical Issues1. CDP Resource Leak / Broken Isolation Between PagesIn const c = browser.contexts()[0] || (await browser.newContext());At the end of the function, 2. Per-Page Timeout Drastically Reduced — Likely to Cause Silent FailuresThe per-page agent timeout was changed from The fallback when timed out is a partial report with 3.
|
Upgrades the agent QA review from a single hardcoded URL to a validated 5-page covering set, each exercising distinct CaaS code paths, with one combined comment.
PR-aware routing: a shared change (Card.jsx / Container / Helpers / any LESS) reviews all pages; a localized change reviews only the pages whose code paths it touches; a .github-only change runs a single smoke page. OR-filter semantics are encoded in the page A/B instructions so the agent does not flag the union-widening as a bug. a11y interaction checks deferred to a later iteration. Per-page agent time-capped; job timeout raised to 30 min.