test(mwpw-184989): seed regressions to validate multi-page agent - #536
test(mwpw-184989): seed regressions to validate multi-page agent#536sanrai wants to merge 13 commits into
Conversation
🤖 Agent QA review — multi-page, interactive + visual diff (advisory, non-blocking)Reviewed 2 page(s) on the live site with the PR build injected. Overall: FAIL. FAIL — A-left-hub · 0.07% pixels changed · https://business.adobe.com/customer-success-stories.htmlTested https://business.adobe.com/customer-success-stories.html with PR #536's CaaS build injected. STEP 1 - Diff image review: The captured PR-vs-stable pixel diff showed magenta highlighting only around the top nav area; the rest of the page (including the card grid) appeared dimmed/unchanged in that snapshot, suggesting the diff tool caught the page mid-render rather than a nav-specific regression. STEP 2 - Live inspection:
STEP 3 - Console errors: get_console_errors reported "Failed to load resource: net::ERR_CONNECTION_CLOSED", consistent with the CaaS data-fetch call failing, which explains the "0 results" / system-error empty state in the main filtered card grid. Conclusion: The hero, breadcrumb, and Featured Customers cards render fine and match expectations. But the primary left-filter CaaS collection ("Explore all Adobe customer success stories") fails to load any cards and displays a persistent "Sorry, there was a system error" message with 0 results — a real, reproducible defect in the touched component (Helpers/CardFilterer/data-fetch layer), not a lazy-load artifact. This is a blocking regression for the core feature under test (left-filter hub cards, search, sort, pagination, bookmarking are all impossible to verify because the grid never populates). Verdict: FAIL FAIL — B-top-panel · 21.42% pixels changed · https://news.adobe.com/news?ch_News+articles=Experience%2520CloudTested https://news.adobe.com/news?ch_News+articles=Experience%2520Cloud with PR #536's CaaS build injected. STEP 1 - Diff review: The captured PR-vs-stable diff image showed a large magenta region covering essentially the entire card-grid/results area (21.42% of pixels changed), indicating the PR build renders that region completely differently from stable. STEP 2 - Live inspection: Navigated to the target URL. Page chrome (header, nav, "Get all the latest Adobe news" hero, Filters bar showing "News Articles 1" chip, Sort dropdown, Adobe Summit promo banner, and footer) all rendered correctly and are pixel-clean/aligned. However, the card grid itself shows "No Results Found — Try checking your spelling or broadening your search." immediately on load. I waited several seconds and re-screenshotted; the empty state persisted (not a lazy-load transient — the stable/original page for this same pre-applied filter normally returns a populated grid of News Articles cards, as reflected by the large diff region). Confirmed programmatically: document.querySelectorAll('.consonant-Card').length === 0 — zero cards rendered in the DOM. get_console_errors reported no JS errors, so this is a silent filtering failure rather than a crash. Likely cause (per PR diff): the pre-applied top-filter URL param (ch_News+articles=Experience+Cloud) is being resolved by the CaaS filtering logic (Helpers/getFilteredCards or the Top-Filters container) to an empty result set in this build, even though the filter chip itself ("News Articles 1") correctly appears as selected. This is exactly the kind of Helpers/filter regression the PR diff warns can "EMPTY the grid." Verdict: FAIL — the top-filter pre-applied collection on this page renders a persistent empty/broken grid (no cards) instead of the expected populated News Articles results, which is a real, visually-confirmed defect, not a lazy-load artifact. Per-page screenshots + diffs in the workflow run. |
ae62c22 to
8032348
Compare
AI Code ReviewIssues Found1. Incorrect Tag Matching Logic (Correctness Bug)File: - const tagIds = new Set(card.tags.map(tag => tag.id));
+ const tagIds = new Set(card.tags.map(tag => tag.name));Problem: The active filters almost certainly store filter criteria by Action: Verify what values 2. CSS Line Clamp Reduction (Potential Content Truncation / Data Loss in UI)File: - .line-clamp(2);
+ .line-clamp(1);This is lower severity, but if card titles are expected to wrap to 2 lines, reducing to 1 will silently truncate titles in the UI. This is a functional regression if titles commonly exceed one line, potentially hiding critical content from users. Confirm this is intentional. |
8032348 to
d97c5fd
Compare
AI Code ReviewIssues FoundCritical Bug: Filter Logic Broken (
|
AI Code ReviewCritical Issues
|
…single-page validation
AI Code ReviewCritical Issues1. Correctness Bug / Broken Filtering Logic —
|
AI Code ReviewCritical Issues1. Breaking Bug: Filter matching changed from
|
AI Code ReviewAI review unavailable (response parse error). See Actions logs. |
AI Code ReviewCritical Issues1.
|
…rate churn from regression
AI Code ReviewCritical issues found:
Action items:
|
AI Code ReviewCritical Issues1. Broken filtering logic —
|
AI Code ReviewCritical Issues1. const tagIds = new Set(card.tags.map(tag => tag.name));This changes the set from tag 2. .line-clamp(2); → .line-clamp(1);Applied in two card components. This truncates card titles/text far more aggressively, which will visibly cut off headlines mid-word in many cases. Given the accompanying 3. selected = PAGES.filter((p) => p.id === 'A-left-hub' || p.id === 'B-top-panel'); // TEMP: validate A+B loose-visualThis unconditionally overrides the
Action: Remove this line before merging, or gate it behind an explicit env flag so it can't accidentally ship. |
…gent hunt and false-alarm
AI Code ReviewCritical Issues1. Broken filter matching logic (
|
…nshots-only (no navigation)
AI Code ReviewCritical Issues1.
|
…load wait safeguard
AI Code ReviewAI review unavailable (response parse error). See Actions logs. |
Throwaway validation PR. Seeds TWO deliberate regressions: (1) card titles truncated to one line (visual, should be flagged on the card pages + gallery), (2) OR filter returns zero results via tag.id->tag.name (functional, should be flagged on the left/top filter pages). The multi-page agent should run all 5 pages and flag these. Will be closed.