#20 Cursor Muse Spark 1.3 (Cursor Agent, Sub-Agents)

Features

2026-09-13-cursor-muse-spark-1-3 · Cursor Agent v2026.09.10-fd3934a

Fully Working

132

All acceptance criteria met

Not Working

9

Feature missing or broken

Partially Done

2

Some criteria met, gaps remain

Feature Score

93%

132 of 143 tests pass (weighted)

We ran 143 end-to-end acceptance tests across 18 suites using Playwright MCP browser testing. Each test was executed non-scripted, independently of the build run itself — a separate pass from the coordinator’s own two internal verification rounds (Agents G and I), which also used Playwright MCP and caught most of the same issues, but not the client-side navigation/modal bugs this independent pass found.

Suite Summary

SuitePassTotalScore
S1Smoke Tests1010
100%
S2Admin Authentication810
80%
S3Admin Product Management77
100%
S4Admin Order Management1011
91%
S5Admin Discount Management66
100%
S6Admin Settings67
86%
S7Storefront Browsing1515
100%
S8Cart Flow1012
83%
S9Checkout Flow1213
92%
S10Customer Account812
67%
S11Inventory Enforcement44
100%
S12Tenant Isolation55
100%
S13Responsive / Mobile88
100%
S14Accessibility1111
100%
S15Admin Collections Management33
100%
S16Admin Customer Management33
100%
S17Admin Pages Management33
100%
S18Admin Analytics Dashboard33
100%

Detailed Results

S1

Smoke Tests

10/10
10
S1-01Loads storefront homePASS
S1-02Loads a collection pagePASS
S1-03Loads a product pagePASS
S1-04Loads the cart pagePASS
S1-05Loads the customer login pagePASS
S1-06Loads the admin login pagePASS
S1-07Loads the about pagePASS
S1-08Loads the search pagePASS
S1-09Loads all collections listingPASS
S1-10Has no errors on critical pagesPASS
S1-01: "Welcome to Acme Fashion" hero, Featured Collections (4), Featured Products (8 incl. Classic Cotton T-Shirt 24.99 EUR). No JS errors.
S1-02: `/collections/t-shirts`: "T-Shirts" heading, "4 products", filters sidebar.
S1-03: "Classic Cotton T-Shirt", 24.99 EUR, Size (S/M/L/XL) and Color (White/Black/Navy) groups, real product photo (not a placeholder icon), Add to cart.
S1-04: Page title "Your Cart".
S1-05: "Customer Login" heading, Email/Password/Log in form. Page renders with no site header/nav/footer at all (bare form) — see major bug #6.
S1-06: `shop.test/admin` redirects to `/admin/login`, "Admin Login" heading, Email/Password/Remember me/Sign in form.
S1-07: "About Us" with "Our Story"/"Our Values"/"Our Team" sections, real content.
S1-08: `/search?q=shirt` → "4 results for 'shirt'": Striped Polo Shirt, Graphic Print Tee, Classic Cotton T-Shirt, (+1).
S1-09: New Arrivals (7), Pants & Jeans (4), Sale (3), T-Shirts (4) all listed with product counts.
S1-10: Across home/collection/product/cart/login/admin-login/about/search, the only console errors were `favicon.ico 404` (cosmetic, not a functional JS error). No 500s.
S2

Admin Authentication

8/10
82
S2-01Can log in as adminPASS
S2-02Shows error for invalid credentialsPASS
S2-03Shows error for empty emailFAIL
S2-04Shows error for empty passwordFAIL
S2-05Redirects unauthenticated to login from dashboardPASS
S2-06Redirects unauthenticated to login from productsPASS
S2-07Can log outPASS
S2-08Can navigate through admin sidebar sectionsPASS
S2-09Can navigate to analyticsPASS
S2-10Can navigate to themesPASS
S2-01: `[email protected]`/`password` → Dashboard with Total Sales/Orders/Avg Order Value/Visitors KPIs, orders-over-time chart, Top products, Conversion funnel, Recent orders.
S2-02: Wrong password → "Invalid credentials" shown in an alert list.
S2-03: Submitting with email blank shows the same generic "Invalid credentials" message, not a field-specific validation error referencing "email".
S2-04: Same as above — generic "Invalid credentials" shown, no field-specific message referencing "password".
S2-05: Redirects to `/admin/login`.
S2-06: Redirects to `/admin/login`.
S2-07: Profile menu ("AU Admin User") → "Log out" → back at `/admin/login`.
S2-08: Products / Orders / Customers / Discounts / Settings all load with correct headings and page titles.
S2-09: `/admin/analytics` loads "Analytics" heading, KPI tiles, Sales over time chart, Top products (16 rows, all Fashion-branded — no visible cross-tenant leak here), Top referrers.
S2-10: `/admin/themes` loads "Themes - Acme Fashion" page.
S3

Admin Product Management

7/7
7
S3-01Shows product list with seeded productsPASS
S3-02Can create a new productPASS
S3-03Can edit an existing productPASS
S3-04Can archive a productPASS
S3-05Shows draft products only in adminPASS
S3-06Can search products in adminPASS
S3-07Can filter products by statusPASS
S3-01: 20 products listed, includes Classic Cotton T-Shirt and Premium Slim Fit Jeans, plus a Draft (Unreleased Winter Jacket) and an Archived (Discontinued Raincoat) product already seeded.
S3-02: Title/Description/Media/Variants (SKU+Price+Compare-at+Qty+Ships in one row)/Status/Organization/Collections all in one form. "E2E Test Product Muse" created with SKU, 29.99 EUR, qty 50, Active — appeared correctly in the list immediately. No visible "Product saved" toast was observed (see minor bugs).
S3-03: "Classic Cotton T-Shirt" → "...Updated" → breadcrumb/heading/form all updated and persisted; reverted successfully.
S3-04: E2E Test Product Muse → Archived → correctly excluded when filtering the list to "Active".
S3-05: "Unreleased Winter Jacket" visible in admin (Draft filter); storefront direct URL `/products/unreleased-winter-jacket` returns a real 404 page; search for "unreleased" returns "0 results".
S3-06: Live-filtering search box: "Cotton" → only "Classic Cotton T-Shirt" shown.
S3-07: Draft filter → only "Unreleased Winter Jacket"; Active filter → "Classic Cotton T-Shirt" visible (archived/draft excluded).
S4

Admin Order Management

10/11
101
S4-01Shows order list with seeded ordersPASS
S4-02Can filter orders by statusFAIL
S4-03Shows order detail with line itemsPASS
S4-04Shows order timeline eventsPASS
S4-05Can create a fulfillmentPASS
S4-06Can process a refundPASS
S4-07Shows customer info in order detailPASS
S4-08Can confirm bank transfer paymentPASS
S4-09Shows fulfillment guard for unpaid orderPASS
S4-10Can mark fulfillment as shippedPASS
S4-11Can mark fulfillment as deliveredPASS
S4-01: 16 orders (#1001-#1016 incl. gaps), Payment/Fulfillment columns, matches Dashboard KPI count.
S4-02: "Paid" tab excludes genuinely-Paid orders #1002 and #1007 (both "Paid"/"Fulfilled" in the unfiltered list) while incorrectly including #1008, whose payment status is "Partially refunded", not "Paid".
S4-03: #1001: 2x Classic Cotton T-Shirt (S/White), Subtotal 49.98/Shipping 4.99/Tax 7.98/Total 54.97 EUR — exact match to seed spec.
S4-04: Timeline populated live: "Order placed" → "Payment received" → (later) "Fulfillment shipped"/"delivered"/"Refund processed" as actions were performed.
S4-05: DHL / DHL123456789 on #1001 → fulfillment created with correct line item and tracking info shown.
S4-06: 10.00 EUR custom refund with reason → order status → "Partially refunded", timeline shows "Refund processed €10.00".
S4-07: "John Doe" / "[email protected]" with link to customer record.
S4-08: Pending #1005 → "Confirm payment" → status → Paid, both "Confirm payment" buttons disappear.
S4-09: Pending #1005 shows "Cannot create fulfillment. Payment must be confirmed before items can be fulfilled. Current financial status: pending." and disables the button.
S4-10: "Mark as shipped" → fulfillment status → Shipped, timeline updated.
S4-11: "Mark as delivered" → fulfillment status → Delivered, order-level fulfillment status → "Fulfilled".
S5

Admin Discount Management

6/6
6
S5-01Shows seeded discount codesPASS
S5-02Can create percentage discountPASS
S5-03Can create fixed amount discountPASS
S5-04Can create free shipping discountPASS
S5-05Can edit a discountPASS
S5-06Shows discount status indicatorsPASS
S5-01: WELCOME10 (10%), FLAT5 (€5.00), FREESHIP, EXPIRED20 (20%, Expired), MAXED (10%, "5/5" Exhausted) all listed with correct type/usage/status/dates.
S5-02: "E2ETEST25MUSE" 25% created and appeared correctly in the list immediately — no form-capture bug.
S5-03: "E2EFLAT10MUSE" €10.00 fixed created correctly.
S5-04: "E2EFREESHIPMUSE" created correctly, listed as "Free shipping".
S5-05: WELCOME10 value → 15% → saved and verified in the list; reverted to 10% successfully (no corruption).
S5-06: "Active" badges on WELCOME10/FLAT5/FREESHIP, "Expired" on EXPIRED20, "Exhausted" on MAXED (5/5 usage).
S6

Admin Settings

6/7
61
S6-01Can view store settingsPASS
S6-02Can update store namePASS
S6-03Can view shipping zonesPASS
S6-04Can add new shipping ratePASS
S6-05Can view tax settingsFAIL
S6-06Can update tax inclusion settingPASS
S6-07Can view domain settingsPASS
S6-01: "Store Settings" heading, "Acme Fashion" name, handle (disabled), contact email, currency/locale/timezone, General/Domains/Shipping/Taxes tabs.
S6-02: → "Acme Fashion Updated" → persisted after reload (page `<title>` updated too); reverted.
S6-03: Domestic (DE): Standard 4.99 EUR / Express 9.99 EUR; EU (AT/FR/IT/ES/NL/BE/PL): EU Standard 8.99 EUR; Rest of World (US/GB/CA/AU): International 14.99 EUR — all correct, plus a "Test shipping address" tool to preview zone matching.
S6-04: "Overnight Shipping" 14.99 EUR added to Domestic zone, displayed correctly immediately.
S6-05: "Tax Settings" heading and "Manual tax rates" mode are shown, but the "Manual rates" table itself is completely empty (no EU zone/rate row) even though checkout demonstrably charges tax on orders (e.g. #1001 shows a real Tax line) — the configuration UI doesn't reflect whatever is actually driving tax calculation.
S6-06: Toggled "Prices include tax" off → saved → reloaded → confirmed unchecked; toggled back on and saved to restore original state.
S6-07: `acme-fashion.test` (storefront, Primary, managed), `admin.acme-fashion.test` (admin, managed) listed.
S7

Storefront Browsing

15/15
15
S7-01Shows featured products on homePASS
S7-02Shows collection with product gridPASS
S7-03Can navigate from collection to productPASS
S7-04Shows product detail with variantsPASS
S7-05Shows size and color option valuesPASS
S7-06Updates price when variant changesPASS
S7-07Shows search results for valid queryPASS
S7-08Shows no results for invalid queryPASS
S7-09Does not show draft products on collectionsPASS
S7-10Does not show draft products in searchPASS
S7-11Shows out of stock messagingPASS
S7-12Shows backorder messagingPASS
S7-13Shows new arrivals collectionPASS
S7-14Shows static about pagePASS
S7-15Navigates between pages using navPASS
S7-01: "Welcome to Acme Fashion" hero, Featured Collections (4), Featured Products (8) with prices.
S7-02: "T-Shirts", "4 products", filter sidebar (Product Type/Vendor).
S7-03: Clicking "Classic Cotton T-Shirt" from the grid opens the correct PDP.
S7-04: Title, 24.99 EUR, "Size" and "Color" groups, real product photo.
S7-05: S/M/L/XL and White/Black/Navy individually selectable radios.
S7-06: Premium Slim Fit Jeans: 79.99 EUR sale + 99.99 EUR compare-at + "Sale" badge.
S7-07: "shirt"/"cotton" → correct matching products.
S7-08: Nonsense query → "No results found for '...'. Try a different search term."
S7-09: "Unreleased Winter Jacket" (draft) does not appear in any collection listing.
S7-10: Searching "unreleased" → "0 results".
S7-11: Limited Edition Sneakers: "Out of stock" text, "Sold out" button disabled.
S7-12: Backorder Denim Jacket: "Available on backorder", add-to-cart enabled and functional — confirmed item reaches the cart with the same "Available on backorder" label.
S7-13: `/collections/new-arrivals` → "New Arrivals" title, 7 products.
S7-14: `/pages/about` → "About Us" with real "Our Story"/"Our Values"/"Our Team" content.
S7-15: Nav "T-Shirts" link correctly navigates to the T-Shirts collection.
S8

Cart Flow

10/12
102
S8-01Can add product to cartPASS
S8-02Can view cart with added itemPASS
S8-03Can update quantity in cartPASS
S8-04Can remove item from cartPASS
S8-05Can add multiple productsPASS
S8-06Can apply WELCOME10 discountPASS
S8-07Shows error for invalid discountPASS
S8-08Shows error for expired discountPARTIAL
S8-09Shows error for maxed out discountPARTIAL
S8-10Can apply free shipping discountPASS
S8-11Can apply FLAT5 discountPASS
S8-12Shows subtotal and total in cartPASS
S8-01: M/Black selected (radio labels needed a click on the label, not the sr-only input, which Playwright's default target resolution handled once retargeted) → "Added to cart" status, cart badge "1", slide-out drawer shows correct item/price.
S8-02: `/cart` shows "Classic Cotton T-Shirt", "M / Black", 24.99 EUR.
S8-03: + → qty 2, line total 49.98 EUR, subtotal/total both update live.
S8-04: Remove → "Item removed" status, "Your cart is empty".
S8-05: Classic Cotton T-Shirt + Premium Slim Fit Jeans both shown in cart simultaneously.
S8-06: "WELCOME10 applied", -4.99 EUR (10% of 49.98 subtotal), total 44.99 EUR — exact match.
S8-07: "INVALID" → "This discount code is invalid."
S8-08: "EXPIRED20" → same generic "This discount code is invalid." message as a nonexistent code — functionally correct (code is rejected) but does not say "expired" so a customer can't tell why.
S8-09: "MAXED" → same generic "This discount code is invalid." — functionally correct (rejected) but doesn't mention the usage limit.
S8-10: "FREESHIP applied" label shown correctly.
S8-11: "FLAT5 applied", -5.00 EUR, total 44.98 EUR.
S8-12: "Subtotal:" and "Total:" labels with correct running totals throughout every scenario above.
S9

Checkout Flow

12/13
121
S9-01Completes full checkout (credit card)PASS
S9-02Shows shipping methods for DE addressPASS
S9-03Shows international shipping for non-DEPASS
S9-04Applies discount during checkoutPASS
S9-05Validates required contact emailPASS
S9-06Validates required address fieldsPASS
S9-07Validates invalid postal codeFAIL
S9-08Prevents checkout with empty cartPASS
S9-09Completes checkout with PayPalPASS
S9-10Completes checkout with bank transferPASS
S9-11Shows error for declined cardPASS
S9-12Shows error for insufficient fundsPASS
S9-13Switches between payment methodsPASS
S9-01: `4242 4242 4242 4242` → "Thank you for your order!", Order #1019, 29.98 EUR total (24.99 + 4.99 shipping + 4.79 tax-on-top).
S9-02: DE/Berlin/10115 → Standard 4.99 EUR / Express 9.99 EUR (plus a test-created Overnight 14.99 EUR rate) — Domestic zone correctly matched.
S9-03: US/New York/10001 → only "International 14.99 EUR" shown, no Domestic rates.
S9-04: FLAT5 carries into checkout, "-5.00 EUR" in totals; math checks out end-to-end (24.99 subtotal, tax appears to be inclusive-of-price rather than additive — Total = subtotal-discount+shipping exactly, consistent with the "Prices include tax" setting seen in S6-06).
S9-05: Continue with empty email → "The email field is required." (both inline alert and paragraph).
S9-06: All required fields (first/last name, address1, city, postal code, country) validated on empty submit — though messages leak raw field names like "shipping.first name" rather than "First name" (cosmetic only, same pattern as address-step messages on other builds of this codebase).
S9-07: `INVALID` + DE address advances straight to the shipping-method step with no client- or server-side postal code format check; the order later completed successfully with "INVALID" as the stored postal code (visible on the confirmation page).
S9-08: Empty cart → "Your cart is empty", no Checkout button; direct navigation to `/checkout` returns a real 404.
S9-09: Order #1021, "PayPal" shown as the payment method on the confirmation page.
S9-10: Order #1020 with full instructions: Mock Bank AG, IBAN DE89 3704 0044 0532 0130 00, BIC COBADEFFXXX, reference #1020, 7-day hold notice.
S9-11: `4000 0000 0000 0002` → "Payment declined: Your card was declined.", remained on checkout.
S9-12: `4000 0000 0000 9995` → "Payment declined: Your card has insufficient funds."
S9-13: Card form correctly hidden for PayPal ("Pay with PayPal" shown) and Bank Transfer ("Place order" + bank details shown) — though the previous card-decline error message string stays visible (stale) after switching to a non-card method, a minor cosmetic carry-over bug.
S10

Customer Account

8/12
84
S10-01Can register a new customerPASS
S10-02Shows validation for duplicate emailPASS
S10-03Shows validation for mismatched passwordsPASS
S10-04Can log in as customerPASS
S10-05Shows error for invalid customer credentialsPASS
S10-06Redirects unauthenticated customersPASS
S10-07Shows order history for customerPASS
S10-08Shows order detail for customerFAIL
S10-09Can view addressesPASS
S10-10Can add a new addressFAIL
S10-11Can edit an existing addressFAIL
S10-12Can log outFAIL
S10-01: Registered "New Customer E2E Muse" successfully, redirected to a fully-styled "Welcome back, New Customer E2E Muse!" dashboard (register/login forms themselves render bare with no site chrome — see major bug #6).
S10-02: `[email protected]` → "The email has already been taken."
S10-03: Different confirm password → "The password field confirmation does not match."
S10-04: `[email protected]` → "Welcome back, John Doe!" with order history visible.
S10-05: Wrong password → "Invalid credentials".
S10-06: `/account` (logged out) → redirected to `/account/login`.
S10-07: #1015, #1010, #1001, #1002, #1004 all listed (superset of the seed spec's #1001/#1002/#1004).
S10-08: The order links use correct, real route hrefs (`/account/orders/%231001`, URL-encoded `#`) unlike some other builds on this codebase — but clicking "View" does nothing: no navigation, no network request fires at all (confirmed via a fresh Playwright locator and by watching `page.on('request')` during the click). Navigating to the exact same URL directly in the address bar works perfectly and shows a fully correct order detail page (items, addresses, totals, fulfillment status). Root cause: the app uses Livewire (`window.Livewire.navigate` present) which appears to intercept the click and mishandle the URL-encoded `#` in the order-number path segment, silently no-op'ing instead of navigating.
S10-09: "Home" (default) and "Work" addresses listed with Edit/Delete/Set-as-default controls.
S10-10: Clicking "Add new address" does nothing visible. DOM inspection confirms the modal markup exists (a native `<dialog>` element containing the First name/Last name/etc. fields) but stays `display:none` / `.open === false` — the button's click handler never calls `showModal()`. Confirmed with a fresh Playwright locator, not a stale-ref artifact.
S10-11: Same root cause as S10-10 — clicking "Edit" on either address leaves the same `<dialog>` closed (`display:none`, `open:false`). The entire address-editing UI is unreachable via clicking.
S10-12: Inconsistent: the very first logout click in this session (right after registration) worked and redirected to `/account/login`, but two subsequent attempts from the John Doe dashboard fired **zero network requests** on click (confirmed via `page.on('request')`) and left the user on `/account`. Calling `form.submit()` directly on the exact same logout `<form action="/account/logout" method="POST">` immediately redirects correctly, proving the backend route works and the failure is an unreliable/broken client-side submit handler on the button itself.
S11

Inventory Enforcement

4/4
4
S11-01Blocks add-to-cart for out-of-stock denyPASS
S11-02Allows add-to-cart for backorderPASS
S11-03Shows correct stock for in-stock productPASS
S11-04Prevents adding more than available stockPASS
S11-01: Limited Edition Sneakers: "Out of stock" text, "Sold out" button disabled, quantity stepper also disabled.
S11-02: Backorder Denim Jacket: "Available on backorder", Add to cart enabled and functional.
S11-03: Classic Cotton T-Shirt: "In stock", Add to cart enabled.
S11-04: Typing `999` into the quantity field on Classic Cotton T-Shirt (S/White) auto-clamps down to `11` (the variant's remaining stock) and the "Increase quantity" button becomes disabled at that cap — confirmed via the input's own `max="11"` attribute matching the displayed clamp. (Note: a subsequent Add-to-cart could not be verified against the cart page in this pass because the cart had been emptied by an unrelated session change from the Suite 10 login/logout cycle — see deviations note below; the clamping behavior itself, which is what this test checks, was directly observed.)
S12

Tenant Isolation

5/5
5
S12-01Store only shows its own productsPASS
S12-02Store collections contain store productsPASS
S12-03Admin cannot access other store dataPASS
S12-04Search only returns current store productsPASS
S12-05Customer accounts scoped to storePASS
S12-01: Fashion (`acme-fashion.test`) shows only Fashion products; Electronics (`acme-electronics.test`) home page independently confirmed to show only its own catalog (Pro Laptop 15, Wireless Headphones, USB-C Cable 2m, Mechanical Keyboard, Monitor Stand) — no cross-listing in either direction.
S12-02: Electronics' "Featured"/"Accessories" collections and Fashion's collections each independently verified to list only their own store's products.
S12-03: Logged in as `[email protected]` (Owner) at `shop.test/admin` — the Dashboard's "Top products" table lists only Fashion-branded items (Cashmere Overcoat, Running Sneakers, Classic Cotton T-Shirt, Premium Slim Fit Jeans, Chino Shorts), with **no Electronics leak** (unlike a cross-tenant leak documented on a previous build on this codebase). The header's store-switcher menu, when opened, lists only "Acme Fashion" as an option — this admin account has no access to switch into Acme Electronics at all, a stronger form of isolation than a same-account, same-permission switch would provide.
S12-04: All storefront searches on `acme-fashion.test` throughout this pass returned only Fashion products (verified across Suite 7's search tests).
S12-05: Genuinely verified (not trivially true, since a second real storefront exists): logging into `acme-electronics.test/account/login` with the Fashion customer's exact credentials (`[email protected]` / `password`) correctly returns "Invalid credentials" — the account does not exist in the Electronics tenant. This matches the demo-access note that this exact cross-store rejection is intentional ("isolation works").
S13

Responsive / Mobile

8/8
8
S13-01Storefront home on mobilePASS
S13-02Product page stacks on mobilePASS
S13-03Can add to cart on mobilePASS
S13-04Cart page works on mobilePASS
S13-05Checkout flow on mobilePASS
S13-06Admin login on tabletPASS
S13-07Admin sidebar on tabletPASS
S13-08Collection page on mobilePASS
S13-01: 375×812: "Open menu" hamburger present, store name visible, `scrollWidth` (375) exactly matches `clientWidth` — no horizontal overflow.
S13-02: Title/price/variants/Add to cart all visible and reachable, no overflow.
S13-03: "Added to cart" status shown, cart badge → 1, slide-out cart drawer opens correctly at this width.
S13-04: Item and "Checkout" button both visible and reachable, no overflow.
S13-05: Progressed through contact → address → shipping method; "Standard Shipping 4.99 EUR" visible, no horizontal scroll at any step.
S13-06: 768×1024: logged out and back in as `[email protected]` at this viewport; Dashboard loads correctly.
S13-07: Products and Orders sections both load with correct page titles at 768×1024.
S13-08: "T-Shirts", "4 products", and a "Filter" button all visible at 375px with no horizontal overflow (`scrollWidth` === `clientWidth`) — unlike a minor 8px overflow bug seen on this same page on a previous build.
S14

Accessibility

11/11
11
S14-01Home page has no JS errorsPASS
S14-02Home page has proper heading hierarchyPASS
S14-03Product page has ARIA labelsPASS
S14-04Product page images have alt textPASS
S14-05Customer login form has accessible labelsPASS
S14-06Admin login form has accessible labelsPASS
S14-07Checkout form has accessible labelsPASS
S14-08Checkout validation errors accessiblePASS
S14-09Can navigate with keyboard onlyPASS
S14-10Cart page has no console errorsPASS
S14-11Search page has proper form labelsPASS
S14-01: `browser_console_messages` (level: warning) returned 0 errors/warnings on the home page.
S14-02: Exactly one `<h1>` ("Welcome to Acme Fashion"), followed by a logical H2→H3 sequence (Featured Collections/Featured Products H2s, individual product H3s) with no level skips.
S14-03: `group "Size"` and `group "Color"` roles with individually-labeled radio options; "Add to cart" properly labeled throughout every product tested.
S14-04: Product images use a placeholder SVG graphic, but each carries a real, product-specific `alt` attribute (e.g. `alt="Classic Cotton T-Shirt"`) rather than being empty or generic/`aria-hidden` — meaningfully differentiates products for assistive technology, unlike a fully generic placeholder icon seen on a previous build.
S14-05: Real, properly-associated `<label for="email">` / `<label for="password">` elements confirmed via DOM inspection — unlike a previous build with no `<label>` elements on this exact page.
S14-06: Real, properly-associated `<label for="email">` / `<label for="password">` / "Remember me" elements confirmed via DOM inspection.
S14-07: Every checkout field (Email, First/Last name, Address line 1/2, City, Postal code, Country, Phone) exposes a correct accessible name to the accessibility tree (confirmed repeatedly via `browser_snapshot` across Suite 9, e.g. `textbox "First name"`) via an adjacent `aria-hidden` label span rather than a semantic `<label for>` association — functionally accessible to screen readers, though not using the more standard `<label>` pattern seen on the login forms.
S14-08: Confirmed in Suite 9 (S9-05/S9-06): each invalid field gets both an inline `alert`-role message directly under it and a duplicate paragraph, e.g. "The shipping.first name field is required." — visible and programmatically associated via the alert role, even though the field-name text itself is a raw internal key rather than a friendly label (cosmetic only).
S14-09: First Tab focuses "Skip to main content" with a visible focus outline (`outline: auto`, `rgb(0, 95, 204)`); pressing Enter on it functions as a normal skip link.
S14-10: `browser_console_messages` (level: warning) returned 0 errors/warnings on `/cart`.
S14-11: Search input has `aria-label="Search products"`, confirmed via DOM inspection.
S15

Admin Collections Management

3/3
3
S15-01Shows collection list with seeded collectionsPASS
S15-02Can create a new collectionPASS
S15-03Can edit a collectionPASS
S15-01: New Arrivals (7), T-Shirts (4), Pants & Jeans (4), Sale (3) all listed with correct product counts.
S15-02: "E2E Test Collection Muse" created and appeared correctly in the list immediately.
S15-03: T-Shirts description changed and persisted (value confirmed by re-reading the field after save), then reverted to the original `<p>Premium cotton tees for every occasion.</p>` — though no visible "Collection saved" toast/confirmation was observed (same pattern noted across several admin forms in this build, see minor bugs).
S16

Admin Customer Management

3/3
3
S16-01Shows the customer listPASS
S16-02Shows customer detail with order historyPASS
S16-03Shows customer addressesPASS
S16-01: "[email protected]" and "John Doe" present with order count (5).
S16-02: "John Doe", "[email protected]", full order history including "#1001" (whose status displayed as the raw enum value `Partially_refunded` rather than a humanized "Partially refunded" — cosmetic only, a side effect of a refund processed on this order during Suite 4 testing).
S16-03: "Addresses" section shows Home (default) and Work addresses with Edit/Delete/Set-default controls.
S17

Admin Pages Management

3/3
3
S17-01Shows the pages listPASS
S17-02Can create a new pagePASS
S17-03Can edit an existing pagePASS
S17-01: About Us, FAQ, Shipping & Returns, Privacy Policy, Terms of Service all listed as Published.
S17-02: "FAQ E2E Muse" created successfully (Draft status by default).
S17-03: About Us body edited, persisted, and correctly rendered as real formatted HTML on the storefront (no raw-tag rendering bug); reverted to the original three-section content (Our Story/Our Values/Our Team).
S18

Admin Analytics Dashboard

3/3
3
S18-01Shows analytics dashboardPASS
S18-02Shows sales dataPASS
S18-03Shows conversion funnel dataPASS
S18-01: "Analytics" heading with Date range/Channel/Device filters, an "Export CSV" button, KPI tiles, a daily revenue chart, Top products (16 rows, all Fashion-branded — no cross-tenant leak), and Top referrers.
S18-02: "Orders" and "Revenue" KPI tiles present with real non-zero values (€1,881.99 / 21 orders).
S18-03: "Visits" (3,240) is shown directly on this Analytics page as part of a full Conversion funnel section (Visits → Add to Cart → Checkout Started → Completed) — unlike a previous build where this data only existed on a separate Dashboard page.