VARNI STOREFRONTS · QUALITY AUDIT · 2026-07-12
Live site: https://website-24.varnijewels.com · Design reference: fionadiamonds.com
Audited across three dimensions: launch readiness (functionality, SEO, performance, security, accessibility, analytics, brand), mobile QA (real device emulation, touch), and desktop QA (1920/1440/1366, hover + keyboard). Report-only — no purchase was completed.
Launch-readiness scoring. Infra-only items are marked MANUAL and left unscored.
| Category | Score | Verdict | Defects |
|---|---|---|---|
| Core Functionality | 30 | fail | 7 |
| Performance (Lighthouse + CWV) | 50 | warn | 4 |
| SEO (technical) | 30 | fail | 8 |
| Security | 45 | warn | 5 |
| Frontend / Responsive | 78 | pass | 3 |
| Backend (externally observable) | 35 | fail | 2 |
| Analytics & Tracking | 55 | warn | 3 |
| Accessibility (WCAG) | 80 | pass | 4 |
| Brand Consistency | 12 | fail | 7 |
| Marketing Readiness | 45 | warn | 4 |
| Monitoring & Maintenance | — | manual | 1 |
Lighthouse CLI, mobile emulation defaults.
| Page | url | performance | accessibility | bestPractices | seo | LCP | CLS | TBT | FCP | SI | TTFB |
|---|---|---|---|---|---|---|---|---|---|---|---|
| home | https://website-24.varnijewels.com/ | 61 | 92 | 96 | 100 | 5.3 s | 0.011 | 10 ms | 5.3 s | 17.5 s | 3,700 ms (server-response-time audit failed) |
| pdp | https://website-24.varnijewels.com/products/480-ct-ef-vs-lab-grown-diamond-mens-statement-ring-in-10k-yellow-gold-_-sz0875-101330 | 57 | 91 | 96 | 100 | 11.1 s | 0.003 | 40 ms | 4.7 s | 10.5 s | 860 ms |
48 findings across functionality, SEO, security, performance, accessibility, analytics and brand consistency.
Clicking 'Add to bag' on a PDP fires POST /api/carts/{cartId}/line-items which returns HTTP 400, followed by GET /api/carts/{cartId} returning 404. Cart page then shows 'YOUR BAG IS EMPTY' and /checkout/address shows 'Your cart is empty'. Reproduced on a fresh session with a rings PDP.
Fix: Fix cart line-item creation on the backend/API integration for this store before launch; this blocks 100% of the guest purchase funnel.
Home LCP 5.3s, PDP LCP 11.1s — both far above the 2.5s 'good' threshold (PDP is above even the 4s 'poor' cutoff).
Fix: Investigate PDP hero image loading (11.1s LCP), reduce server response time, and preload the LCP image.
/sitemap.xml 302-redirects to https://<r2-bucket>.cloudflarestorage.com/varni/sitemaps/jewelwesell.com-sitemaps/sitemap_index.xml which itself returns HTTP 400 'InvalidArgument: Authorization'. The robots.txt-declared sitemap (/sitemaps/website-24.varnijewels.com-sitemaps/sitemap_index.xml) 404s. No working sitemap exists for search engines to crawl.
Fix: Regenerate and publish a valid sitemap_index.xml under this store's own bucket path/brand, not the reference brand's leftover path.
PDP <title> = '... | Jewelwesell'; og:site_name = 'Jewelwesell'; og:image points to media.jewelwesell.com. Meta description is a broken template: '<product name>. -' (literal trailing dash, no real copy). JSON-LD Product schema: brand.name/manufacturer = 'Jewelwesell', sku prefixed 'JWS...'. JSON-LD WebSite schema: name = 'Jewelwesell'. JSON-LD Organization schema: contactPoint.email = [email protected], phone (646) 598-7516, address '340 Amboy Ave, Metuchen, NJ', sameAs links to x.com/JewelWeSell, facebook @JewelWeSell1, instagram/jewelwesell, while the same schema's 'name' field says 'Website-24' — internally inconsistent.
Fix: Replace the theme's PDP <title>/meta template site-name suffix and og:site_name with the theme brandName; regenerate JSON-LD Organization/Product data from theme content, not the reference store account's business profile.
POST .../line-items → 400; GET .../carts/{id} → 404. This is the backend root cause of the broken purchase funnel.
Fix: Backend/API team to debug the cart-creation/line-item endpoint for this store.
Opening the mobile hamburger menu's 'SUPPORT CONTACT' section displays '[email protected]' and '+(646) 598-7516' — the reference brand's actual support email and US phone number — directly in the customer-facing UI, not just metadata.
Fix: This is the most severe finding in the audit: any customer who emails or calls that contact reaches the wrong (real, unrelated) business. Replace with this store's own theme-configured support contact, sourced from themeContent, not storeData.businessEmail/phone.
(1) Mobile nav: [email protected] / +(646) 598-7516. (2) Footer: Bandra Kurla Complex, Mumbai + '+91 90000 00000' (an all-zero placeholder number) + '[email protected]' (a non-deliverable .example placeholder domain). (3) JSON-LD Organization schema: '340 Amboy Ave, Metuchen, NJ' + [email protected] + phone (646) 598-7516 + sameAs links to real x.com/JewelWeSell, facebook @JewelWeSell1, instagram/jewelwesell accounts. Header/sidenav/footer wordmark itself IS consistent ('Website-24' everywhere) — the mandatory wordmark-parity check passes — but every other piece of business identity (email/phone/address/socials) is inconsistent and/or leaked from the reference brand's real account.
Fix: Establish one canonical theme-owned contact/address/social block and use it everywhere (JSON-LD, mobile nav, footer). Do not fall back to storeData.businessEmail/phone/address.
Duplicate of the SEO-category finding — repeated here because it is fundamentally a brand-identity leak: og:site_name, product brand.name/manufacturer, and WebSite schema name are all 'Jewelwesell' on every product page.
Fix: See SEO category recommendation.
All 5 footer social icons (Instagram, Facebook, YouTube, X, LinkedIn) point to href="#" instead of real profile URLs.
Fix: Wire real social profile URLs or remove the icons.
Home page root document took 3,700ms to respond (Lighthouse server-response-time audit scored 0/1).
Fix: Investigate SSR/backend latency for the storefront's initial document render.
PDP BreadcrumbList JSON-LD items have doubled protocol and missing separators, e.g. 'https://https://website-24.varnijewels.comrings' and '...comwedding-mens' — these are not valid, resolvable URLs.
Fix: Fix the breadcrumb URL-building logic (string concatenation bug duplicating the protocol/host and omitting the leading slash).
'@id': 'https://https://website-24.varnijewels.com/#organization' and 'url': 'https://https://website-24.varnijewels.com' — doubled protocol.
Fix: Same root-cause fix as breadcrumb URLs — likely a shared URL-building helper.
Every category page (e.g. /rings) renders <title>Products</title> instead of a descriptive, unique, brand-inclusive title like 'Rings | Website-24'.
Fix: Populate per-category title/meta description from the category name + brand.
curl -I on home and PDP show no Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, or Strict-Transport-Security header.
Fix: Add CSP, X-Frame-Options (or frame-ancestors), X-Content-Type-Options: nosniff, Referrer-Policy, Permissions-Policy, and HSTS at the CDN/edge or app layer — platform-wide, not per-store.
Product images are served from media.jewelwesell.com and the rendered PDP gallery image shows a faint diamond/'W' logo watermark baked into the photo itself (visible bottom-left of the main product image).
Fix: Source watermark-free product photography, or a licensing arrangement, before launch — do not ship a competitor/source brand's watermark to customers.
Bottom-right of every page's footer renders the literal text 'vvarni-storefronts' — looks like a leaked internal repo/build tag, not customer-facing copy.
Fix: Remove this debug string from the footer template.
Customer-facing product titles read e.g. '4.80 ct EF VS Lab Grown Diamond Mens Statement Ring in 10k Yellow Gold _ Sz0875 101330' — the trailing '_ Sz0875 101330' is an internal size/SKU code, not customer-appropriate copy.
Fix: Strip internal SKU/size tokens from the customer-facing title; keep SKU only in the dedicated sku field.
All 5 footer social icons point to '#'.
Fix: See Core Functionality recommendation.
GET /this-page-does-not-exist-xyz123 returns HTTP 200 with <title>Products</title> (an empty/generic product-listing shell) rather than a 404. This is a side effect of the bare [slug]-as-listing route convention, but it creates Google Search Console 'soft 404' signals at scale.
Fix: Return a real 404 (or noindex) when a slug matches zero categories/products, distinct from a valid empty-filter state.
Because Add to Cart is broken, add_to_cart/begin_checkout events could not be confirmed. No Meta/Facebook Pixel (fbq) detected.
Fix: Re-verify GA4 ecommerce events once the cart bug is fixed; add a pixel if the business wants paid-social retargeting.
Site settings show newsletter:{active:true, placeholder:'', heading:'', subheading:''} — the capture block is turned on but every text field is blank, which likely renders an empty/blank section or nothing visible.
Fix: Populate the newsletter heading/subheading/placeholder copy, then verify it renders and actually captures an email.
Footer phone '+91 90000 00000' is an all-zero placeholder; footer email '[email protected]' uses the reserved, non-deliverable .example TLD.
Fix: Replace with this store's real, monitored support phone/email before launch.
Mobile hamburger menu lists 'Home' twice in sequence under SHOP & EXPLORE.
Fix: De-duplicate the menu source data.
'About Website-24', 'Our Materials', and 'Boutiques' all resolve to /contact-us instead of distinct pages; 'Gifting' resolves to the generic /products listing.
Fix: Build dedicated About/Materials/Boutique-locator pages or relabel the links.
Est. 25 KiB unused CSS and 94 KiB unused JS on the homepage.
Fix: Tree-shake/lazy-load non-critical bundles.
Homepage og:image = '/fiona/hero-1.svg' (relative), which most social platforms (Facebook/LinkedIn/X) will fail to resolve into a share-preview image; also an SVG is not universally supported as an OG image format.
Fix: Use an absolute https:// URL and a raster (PNG/JPG) fallback for og:image.
litekart_store_id, _ga, _ga_LXBXGL3R0P all have secure:false despite the site being HTTPS-only.
Fix: Set Secure (and where applicable HttpOnly/SameSite=Lax/Strict) on all first-party cookies.
Gold/tan text (#9a7b4f) on white background used for 'SHOP BY CATEGORY' eyebrow and category index numbers ('01','02'...) measures 3.94:1, below the WCAG AA 4.5:1 requirement for normal-size text.
Fix: Darken the accent gold or increase font-weight/size to meet contrast requirements for that token.
GA cookies are set and a GA hit fires immediately on load with no visible consent banner or Google Consent Mode gating (gcd/dma params present but default/unblocked).
Fix: Confirm with legal/compliance whether a consent banner is required for this store's target markets (US/India) — if EU traffic is expected, add one.
Same #9a7b4f-on-white eyebrow/index-number contrast failure (3.94:1 vs required 4.5:1).
Fix: See Frontend recommendation.
Metal Type, Metal Color and Ring Size chips: selected chip renders solid black background with white text; unselected chips are white background with light-gray border and dark text. High contrast in both states.
Fix: None — passes the mandatory PDP variant visibility check.
/rings shows '1000+ Products', category tree, Tags (CVD/Lab Grown/Lab Grown Diamond), price range slider, Center Stone CTW facet, and a working Sort By dropdown (Recommended).
Fix: None.
GET /api/wishlists/me returns 422 'Invalid credentials' for guest sessions on home/PLP/PDP/cart. This matches the known, accepted guest-wishlist behavior noted in prior fixes.
Fix: No action needed; confirms expected behavior.
Home: performance 61, accessibility 92, best-practices 96, seo 100. PDP: performance 57, accessibility 91, best-practices 96, seo 100. CLS is good on both (0.011 home, 0.003 PDP). TBT good (10ms/40ms). Total byte weight only 697 KiB on home — page weight itself is not the bottleneck, latency is.
Fix: N/A
robots.txt exists with sensible disallow rules; homepage canonical tag is correct and absolute; viewport meta correct; single H1 on homepage; Lighthouse SEO category scored 100/100 on both pages (Lighthouse's checks don't catch the structural issues above, which require manual/content inspection).
Fix: None beyond the items above.
Certificate for varnijewels.com issued by Google Trust Services (WE1), valid 2026-05-30 through 2026-08-28. HTTP/2 in use, served via Cloudflare.
Fix: Ensure the cert auto-renews before 2026-08-28 (MANUAL/ops).
The SSR page payload embeds only publishable/public keys (Stripe pk_live_..., PayPal client id, Affirm public key) — this is expected/normal for client-side checkout SDKs, not a leak. No sk_live/sk_test secret keys found in page source.
Fix: None.
CSRF protection, rate limiting/CAPTCHA on forms, admin-panel protection/MFA, password policy, session timeout, SQL-injection protection, dependency/plugin vulnerability scanning, and backup verification cannot be assessed from outside the app.
Fix: Ops/backend team to verify against internal checklist.
Tested at 390x844 (iPhone-class viewport). Hero, category grid, bestsellers, FAQ, and footer all reflow correctly to single column.
Fix: None.
meta viewport = 'width=device-width, initial-scale=1.0, maximum-scale=5.0' (pinch-zoom not disabled — good for accessibility).
Fix: None.
DB query optimization/indexing, memory leaks, server resource usage, background job/queue/cron health, log/error management, session management, cache invalidation, load balancing/autoscaling cannot be assessed externally.
Fix: Ops team to verify via internal monitoring/APM.
gtag.js loads (G-LXBXGL3R0P), dataLayer populated, and a page_view collect request fires on load.
Fix: None.
Home 92/100, PDP 91/100.
Fix: None beyond the contrast fix noted above.
image-alt, link-name, button-name, heading-order, html-has-lang, meta-viewport all scored 1/1 in Lighthouse.
Fix: None.
Full tab-order, focus-trap, and screen-reader-announcement testing was not performed in this headless pass.
Fix: Recommend a manual screen-reader pass (VoiceOver/NVDA) before launch.
All show 'Website-24' / 'WEBSITE-24' consistently — no 'API store name wins' pattern (e.g. no leaked 'Boris & Twins'-style account name) was found for the wordmark specifically.
Fix: None for the wordmark itself — but see the contact-info findings above, which are a related but distinct identity leak.
Homepage hero has a clear headline, subhead, and visible CTA ('SHOP SOLITAIRES'); trust row shows 'IGI / GIA Certified', 'Lifetime Warranty', 'Free Insured Shipping', '30-Day Returns'; testimonials section present ('Loved by our clients') with named reviewers; FAQ accordion present; live WhatsApp chat widget present.
Fix: None.
None of these can be verified from outside the storefront. SSL cert expires 2026-08-28 — confirm renewal automation is in place.
Fix: Ops team to confirm monitoring stack (uptime checker, error tracking, CWV field monitoring, SSL-expiry alerting) is wired up for this store.
Real mobile emulation (iPhone 13 (390x844, DPR 3, touch on, Mobile Safari UA) via Playwright device descriptor, Pixel 7 (412x915, DPR 2.625, touch on, Chrome Mobile UA) via Playwright device descriptor), touch interaction, thumb-driven journey.
The hamburger icon button (aria-label 'Toggle menu') that opens the mobile nav drawer measures only 18x18px, positioned at the extreme top-left corner (top:54, left:14) on both iPhone 13 and Pixel 7. This is the primary navigation trigger for the entire site on mobile and is roughly 40% of the recommended minimum tap target in both dimensions, sitting in the hardest-to-reach corner for one-thumb use.
Fix: Increase the clickable/tappable area of the hamburger button to at least 44x44px via padding on the button element (icon can stay visually small), not just the SVG glyph size.
After adding an item, a 'Your Cart' slide-over opens with a quantity stepper. The 'Subtract 1 from qty' and 'Add 1 to qty' buttons each measure only ~17.8 x 26px, sitting directly adjacent to each other. This is the single most likely place for a mis-tap to accidentally remove/duplicate line items during checkout.
Fix: Pad the qty buttons to at least 44x44px hit area and add visible spacing between '-', the count, and '+' so adjacent taps don't collide.
Stone Type / Stone Quality / Metal Type / Metal Color chip buttons on the PDP (e.g. '10k Gold', '14k Gold', 'White Gold') are 36px tall (widths vary 71-162px). Height is the constraining dimension and is 8px short of the recommended minimum, on a row of several adjacent chips a thumb can easily overshoot into the wrong option.
Fix: Increase vertical padding on option chips to reach 44px height minimum.
'Remove item' trash icon measures ~23x34px; 'close cart' X measures ~25x36px. Both are icon-only buttons with no visible padding buffer.
Fix: Add invisible padding to reach 44x44 hit area on both icon buttons; the close action is lower risk since tapping the backdrop likely also closes the drawer, but the trash/remove icon is a destructive action and deserves a comfortable target.
On initial screenshot capture (~2.5s after navigation) all product card images on the /rings PLP were still blank grey boxes with only the wishlist heart icon visible; a follow-up check confirmed the underlying <img> tags do use loading="lazy" and do load correctly (naturalWidth 1280) a couple seconds later. There is no skeleton/shimmer placeholder during this gap, so on a real phone (especially with any added latency) the grid reads as broken/empty for a noticeable moment.
Fix: Add a skeleton/shimmer background on product-card image containers while the lazy image loads instead of plain grey, and consider prioritizing (loading="eager", fetchpriority=high) the first 4-6 above-the-fold PLP images.
The sampled PDP (first product in /rings) has galleryDotCount=1 and the 'Next slide'/'Previous slide'/'Close Carousel' controls exist in the DOM but are 0x0/hidden - i.e. genuinely only one product photo is attached, there is nothing to swipe between. This is a content/catalog gap rather than a gallery-code bug (the carousel infrastructure is present and presumably works once >1 image exists), but for a lab-grown-diamond jewelry storefront a single static image per product (no macro/angle/on-hand shots) undersells the product on mobile where zoom is the main way to inspect detail.
Fix: Backfill multi-angle product photography (or at minimum a rendered alt-angle) for catalog SKUs so the built-in swipe/carousel component actually has multiple slides to page through on mobile; not an engineering fix.
Sort By / Filter DO exist as a sticky-looking bar under the product grid ('Sort By: Recommended' / 'Filter'), each tap target 195x47 - comfortably sized. This is a PASS on tap-target size, listed here only because the bar sits visually disconnected from the grid content (no border/shadow separating it from the page background at the bottom) and could be mistaken for footer text rather than an interactive control.
Fix: Give the Sort/Filter bar a visible container (background fill or top border) so it reads clearly as tappable UI rather than page footer text.
On success, the app opens a 'Your Cart (N)' slide-over immediately (good, app-like feedback). No dedicated toast/snackbar/aria-live region was found on the page ([class*=toast], [class*=snackbar], [role=status], [role=alert] all absent). If the previously-documented cart-API 400/404 does occur on a future/real request, the customer's only signal that anything went wrong is that the cart drawer never appears - there is no explicit 'Something went wrong, please try again' message. On a slow connection this reads as 'nothing happened,' inviting repeated taps.
Fix: Add an explicit error toast (e.g. 'Could not add to bag, please try again') triggered on any non-2xx response from the add-to-cart request, so failures are never silent on mobile.
The 'Add to wishlist' heart button on the PDP measures 36x36px. Smaller gap than the other findings above but still short of guidance.
Fix: Bump to 44x44 if convenient; low priority relative to the cart/nav issues above.
The task brief stated add-to-cart is known-broken (cart API 400/404) from a prior launch-readiness pass. In this run, on BOTH iPhone 13 and Pixel 7 emulation, tapping 'ADD TO BAG' produced zero network/console errors, opened a 'Your Cart (1)' slide-over with correct product image/price/qty stepper, and the item carried through to /checkout/cart and /checkout/address with correct subtotal ($4319.00) and a working checkout form. This directly contradicts the expected-broken state. Two explanations are plausible: (a) the issue is intermittent/session- or variant-dependent - an EARLIER same-session desktop-viewport run against this exact PDP (before this mobile pass) DID reproduce the 400 on POST /api/carts/{id}/line-items followed by 404 on GET /api/carts/{id}, or (b) the issue has since been fixed. Because this pass could not reproduce the failure, do not treat 'add-to-cart is broken' as confirmed on mobile without a fresh check; also do not treat it as fixed without checking (a).
Fix: Re-run the add-to-cart flow a few times back-to-back (fresh cart_id each time) to determine if the 400/404 is intermittent (e.g. a race between cart-creation and line-item POST, or a stale/expired cart_id reused across page loads) rather than a hard the-button-does-nothing bug. If intermittent, this is arguably WORSE for mobile UX than a consistent failure because there is no error toast either way - see next finding.
Desktop viewports (1920x1080, 1440x900, 1366x768), hover states, keyboard navigation, layout integrity.
nav.fiona-nav (aria-label=Main navigation) renders as an empty Svelte each-block (<!--[--><!--]-->) at 1920/1440/1366, persisting 6+ seconds after load. No hamburger/menu-toggle button exists in the header at any desktop width. Root cause confirmed via network capture: GET /api/categories/featured?limit=18 returns 200 {"data":[],"cache":"HIT"} — an empty cached category list. Only ways to reach categories on desktop are the homepage 'Shop by category' tiles (~1000px down) or footer links.
Fix: Backend: repopulate/invalidate the featured-categories cache for this store so the endpoint returns real category data. Frontend: add a resilient fallback (e.g. hamburger/'All Categories' link) so an empty API response never leaves the desktop header with zero navigation.
Tested 6 total add-to-cart attempts across 2 ring products (with metal-only selection and with every variant group incl. Ring Size explicitly selected) at 1920x1080 and 1440x900. At 1920x1080, 3/3 attempts failed (final /checkout/cart = 'YOUR BAG IS EMPTY' for both products). At 1440x900, 1 attempt succeeded cleanly (cart drawer + /checkout/cart correctly showed the item at $4319.00, matching the sibling mobile-qa run on the identical product/variant), 1 was blocked by a stale UI overlay (see separate defect), and 1 (different product) failed explicitly with 400 POST .../line-items. Network pattern: a cart is created, GET on that cart id 404s, a new cart id is used for POST line-items which returns 400, and subsequent GETs against that id keep 404ing.
Fix: Investigate a backend race/cache-consistency bug in cart-id creation and lookup (client and server appear to disagree on which cart id is currently valid). Do not close this as 'fixed' based on any single successful run, and do not treat it as a pure desktop bug — it reproduced on desktop and (per sibling agent) also succeeded on mobile with the exact same product/variant.
After a successful add-to-cart opened the 'Your Cart (1)' drawer, reloading the PDP left the drawer/overlay rendered on top of the page, causing a Playwright click on Add to Bag to time out waiting for the element to become visible/stable (not an API error this time).
Fix: Ensure the cart drawer/overlay state resets correctly on navigation/reload so it never remains as a click-blocking layer over the page beneath it.
When the 400/404 add-to-cart failure above occurs, there is no visual signal to the shopper at all; the page looks unchanged. Confirmed by DOM inspection during each failed-add screenshot.
Fix: Add an explicit error toast/banner shown on any non-2xx response from the add-to-cart call.
Hovering the first product card on /rings produced no change in computed transform or box-shadow at 1920, 1440, or 1366 — only the always-visible wishlist heart icon is present. No quick-add/quick-view reveal, no elevation/shadow shift.
Fix: Add a hover elevation/shadow or a quick-add/quick-view reveal consistent with desktop-shopper expectations for a premium jewelry PLP.
Instagram/Facebook/YouTube/X/LinkedIn icons in the footer all point to '#' at every desktop width tested (deadHashLinkCount: 5 in all three viewport result sets). Previously known issue, reconfirmed this pass.
Fix: Wire real social profile URLs, or remove the icons until they are available.
Visible bottom-right of the footer on home, PLP, PDP, cart, and checkout pages at all widths tested. Previously known issue, reconfirmed this pass.
Fix: Remove the internal debug/build identifier string from the production footer template.
Organization schema @id/url = 'https://https://website-24.varnijewels.com/#organization' (doubled protocol). PDP BreadcrumbList item URLs are similarly malformed and missing a path separator, e.g. 'https://https://website-24.varnijewels.comrings' instead of 'https://website-24.varnijewels.com/rings'.
Fix: Fix the string-concatenation logic that builds canonical/breadcrumb/organization URLs — it appears to prepend a protocol onto a value that already includes one, and to omit a leading slash before path segments.
Hover over the main image showed cursor:zoom-in and one zoom-classed element present and sized, but with only a single photo per sampled product, true multi-image gallery swipe/hover-zoom-pan behavior has no content to exercise. Matches sibling mobile-qa's galleryDotCount:1 finding.
Fix: Catalog/content gap (backfill multi-angle photography), not a code defect — flagged so the passing zoom-cursor check isn't mistaken for a fully-verified hover-zoom gallery.
The three dimensions were run independently, so some findings were corrected or contradicted by a later pass. Those disagreements are recorded here rather than silently resolved — a claim below is not firm until re-verified.
Launch-readiness saw it fail; mobile QA saw it succeed cleanly on the same PDP. Desktop QA ran 6 attempts across 2 products and 2 viewports: 3/3 failed at 1920x1080; at 1440x900 one succeeded, one failed with 400, one was blocked by a stale overlay. Conclusion: intermittent, not consistently broken — consistent with a backend cart-id race.
Action: Still a launch blocker. Needs a backend fix, not a theme fix.