{
  "url": "https://www.digikala.com",
  "auditedAt": "2026-07-24T07:43:30.936Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage complete across 58 atomic checks. Representative mobile commerce templates, account entry, add-to-cart, and error recovery were exercised; payment completion, authenticated account management, desktop-only mega-menu states, and every category/product variant were not covered because they are repetitive, require credentials, or risk a real transaction.",
  "page": {
    "appType": "hybrid",
    "framework": "Next.js",
    "notes": "Public Persian RTL marketplace. Rendered content is client-side despite Next.js; a manifest and service worker are present."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "curl robots/sitemap/manifest/service-worker"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "404 mobile",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/404-state.json",
      "caption": "404 state",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/cache-state.json",
      "caption": "cache state",
      "findingIds": [
        "F026"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies",
      "findingIds": [
        "F022",
        "F024"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-default-motion.json",
      "caption": "home default motion",
      "findingIds": [
        "F002",
        "F029"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "F022",
        "F024"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-baseline.json",
      "caption": "home heap baseline",
      "findingIds": [
        "F032"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-post-scroll.json",
      "caption": "home heap post scroll",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F019",
        "F028"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout.json",
      "caption": "home layout",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-memory-metrics.json",
      "caption": "home memory metrics",
      "findingIds": [
        "F032"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile-header.png",
      "caption": "home mobile header",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F003",
        "F004",
        "F005",
        "F030"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-probe-summary.json",
      "caption": "home probe summary",
      "findingIds": [
        "F004",
        "F005",
        "F006",
        "F007",
        "F015",
        "F017",
        "F018",
        "F019",
        "F021"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-probe.json",
      "caption": "home probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-probe.log",
      "caption": "home probe",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-recon.json",
      "caption": "home recon",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion.json",
      "caption": "home reduced motion",
      "findingIds": [
        "F002"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F013",
        "F014",
        "F023",
        "F028",
        "F029",
        "F030",
        "F032"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F010",
        "F012",
        "F029"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": [
        "F012"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "F023",
        "F030"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F013"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/lighthouse-home-summary.json",
      "caption": "lighthouse home summary",
      "findingIds": [
        "F007",
        "F010",
        "F012",
        "F013",
        "F014",
        "F015",
        "F016",
        "F020",
        "F023",
        "F028"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-product-summary.json",
      "caption": "lighthouse product summary",
      "findingIds": [
        "F010",
        "F013",
        "F014",
        "F015",
        "F016",
        "F017",
        "F018",
        "F031"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-product.json",
      "caption": "lighthouse product",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-selected-audits.json",
      "caption": "lighthouse selected audits",
      "findingIds": [
        "F020"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/listing-layout.json",
      "caption": "listing layout",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-mobile.png",
      "caption": "listing mobile",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/listing-probe-summary.json",
      "caption": "listing probe summary",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/listing-probe.json",
      "caption": "listing probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/listing-probe.log",
      "caption": "listing probe",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/listing-recon.json",
      "caption": "listing recon",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/llms-headers.txt",
      "caption": "llms headers",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/llms.txt",
      "caption": "llms",
      "findingIds": [
        "F031"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-invalid-state.json",
      "caption": "login invalid state",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/login-invalid.png",
      "caption": "login invalid",
      "findingIds": [
        "F027"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-state.json",
      "caption": "login state",
      "findingIds": [
        "F027"
      ]
    },
    {
      "type": "other",
      "path": "evidence/manifest.json",
      "caption": "manifest",
      "findingIds": [
        "F026"
      ]
    },
    {
      "type": "other",
      "path": "evidence/product-add-cart-state.json",
      "caption": "product add cart state",
      "findingIds": [
        "F008",
        "F009"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/product-add-cart.png",
      "caption": "product add cart",
      "findingIds": [
        "F008",
        "F009"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/product-dark.png",
      "caption": "product dark",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/product-discoverability-crawler.png",
      "caption": "product discoverability crawler",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/product-discoverability-rendered.png",
      "caption": "product discoverability rendered",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/product-discoverability.json",
      "caption": "product discoverability",
      "findingIds": [
        "F025",
        "F031"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/product-forced-colors.png",
      "caption": "product forced colors",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/product-layout.json",
      "caption": "product layout",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/product-mobile.png",
      "caption": "product mobile",
      "findingIds": [
        "F001",
        "F008"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/product-probe-summary.json",
      "caption": "product probe summary",
      "findingIds": [
        "F001",
        "F006",
        "F007",
        "F015",
        "F017",
        "F018",
        "F019",
        "F021",
        "F031"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/product-probe.json",
      "caption": "product probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/product-probe.log",
      "caption": "product probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/product-scroll-chrome-state.json",
      "caption": "product scroll chrome state",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/pwa-state.json",
      "caption": "pwa state",
      "findingIds": [
        "F026"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "robots headers",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/scroll-chrome-state.json",
      "caption": "scroll chrome state",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-discoverability-crawler.png",
      "caption": "search discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-discoverability-rendered.png",
      "caption": "search discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/search-discoverability.json",
      "caption": "search discoverability",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/search-layout.json",
      "caption": "search layout",
      "findingIds": [
        "F011"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile.png",
      "caption": "search mobile",
      "findingIds": [
        "F011"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/search-probe-summary.json",
      "caption": "search probe summary",
      "findingIds": [
        "F006"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/search-probe.json",
      "caption": "search probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/search-probe.log",
      "caption": "search probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap-headers.txt",
      "caption": "sitemap headers",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sw9.js",
      "caption": "sw9",
      "findingIds": [
        "F026"
      ]
    }
  ],
  "config": {
    "loaded": false
  },
  "paths": [
    {
      "id": "home",
      "description": "Homepage and global navigation, representing merchandising, discovery, and site-wide chrome.",
      "url": "https://www.digikala.com/",
      "conditions": [
        "mobile 360x800",
        "dark preference",
        "reduced motion",
        "no-JavaScript crawler",
        "repeated scrolling"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "Mobile-phone category listing, representing category navigation and product discovery. One category template was sampled because sibling categories share the same shell.",
      "url": "https://www.digikala.com/search/category-mobile-phone/",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "product",
      "description": "Representative product detail and add-to-cart interaction, covering product information and the primary commercial action.",
      "url": "https://www.digikala.com/product/dkp-21190850/",
      "conditions": [
        "mobile 360x800",
        "dark preference",
        "forced colors",
        "no-JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search results for گوشی, representing query results, filtering, and dynamic list rendering.",
      "url": "https://www.digikala.com/search/?q=%DA%AF%D9%88%D8%B4%DB%8C",
      "conditions": [
        "mobile 360x800",
        "no-JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Authentication entry and invalid-empty submission, representing account input and error recovery. No credentials were entered.",
      "url": "https://www.digikala.com/users/login/",
      "conditions": [
        "mobile 360x800",
        "invalid empty submission"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Intentional missing URL, representing HTTP/not-found recovery.",
      "url": "https://www.digikala.com/__web_uplift_missing__",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "severity": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "summary": "The interface ignores the user’s dark color-scheme preference.",
      "evidence": "The product screenshot captured under prefers-color-scheme: dark is byte-identical to the light capture and remains a white surface; CSS probing found no prefers-color-scheme rule.",
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/product-dark.png",
        "evidence/product-probe-summary.json"
      ],
      "suggestedFix": "Declare color-scheme and provide preference-driven surface, text, border, icon, and form colors using prefers-color-scheme or light-dark().",
      "effort": "medium",
      "confidence": "high",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F002",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "summary": "Loading motion continues unchanged when reduced motion is requested.",
      "evidence": "The reduced-motion probe found the same 57 running 1.2-second loading animations as the default condition, despite matchMedia reporting reduce=true.",
      "artifacts": [
        "evidence/home-reduced-motion.json",
        "evidence/home-default-motion.json"
      ],
      "suggestedFix": "Under prefers-reduced-motion: reduce, remove looping decorative/loading motion or replace it with a static or low-motion state.",
      "effort": "small",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F003",
      "severity": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "summary": "A promotion obscures the homepage immediately on load.",
      "evidence": "The first mobile homepage capture is covered by a centered promotional panel and full-page gray scrim before any interaction.",
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Do not show the promotion on initial load. Place the offer in-page or defer it until an explicit, relevant action, with a clear light-dismiss path.",
      "effort": "small",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F004",
      "severity": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "summary": "The blocking promotion is not exposed as a semantic dialog.",
      "evidence": "The screenshot shows a modal interaction, while DOM probes across the audited templates found zero dialog elements, popovers, or role=dialog/aria-modal nodes.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe-summary.json"
      ],
      "suggestedFix": "Use a native dialog for a genuinely modal flow, including focus management and platform dismissal; use popover for non-modal transient content.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F005",
      "severity": "medium",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "scrollability-affordance-hints",
      "summary": "Persistent and promotional chrome competes with core content on mobile.",
      "evidence": "The homepage viewport combines a sticky promotional strip, search/address header, floating support control, modal/scrim, and fixed five-item bottom navigation, leaving little primary content visible.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe-summary.json"
      ],
      "suggestedFix": "Remove or collapse nonessential persistent chrome, reserve fixed UI for primary navigation, and keep support/promotion affordances unobtrusive.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F006",
      "severity": "low",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "summary": "Responsive behavior is entirely viewport-driven rather than component-aware.",
      "evidence": "CSS probes across homepage, listing, product, and search found no @container rules, although the same cards and navigation components appear in multiple contexts.",
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json",
        "evidence/search-probe-summary.json"
      ],
      "suggestedFix": "Introduce container queries for reusable cards, filters, and navigation components so they respond to available component space, with viewport rules retained for page-level composition.",
      "effort": "medium",
      "confidence": "medium",
      "pathId": "search",
      "url": "https://www.digikala.com/search/?q=%DA%AF%D9%88%D8%B4%DB%8C"
    },
    {
      "id": "F007",
      "severity": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "summary": "Keyboard focus is not visibly indicated on sampled interactive controls.",
      "evidence": "Programmatic focus on the visible support control and a product link produced outline:none and no box shadow; Lighthouse also found inaccessible interactive elements.",
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Provide a high-contrast :focus-visible indicator on every interactive element and verify the complete keyboard focus walk.",
      "effort": "small",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F008",
      "severity": "high",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "custom-button-actions",
      "summary": "The sampled add-to-cart action did not progress the primary flow.",
      "evidence": "The add-to-cart button was activated on the product page, but the post-interaction screenshot is byte-identical to the pre-interaction state and the URL remained on the product page.",
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/product-add-cart.png",
        "evidence/product-add-cart-state.json"
      ],
      "suggestedFix": "Make add-to-cart reliably update cart state and expose an immediate route or control to review the cart; handle inventory/session failures inline.",
      "effort": "medium",
      "confidence": "medium",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F009",
      "severity": "high",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "summary": "Add-to-cart provides no observable success or error feedback in the sampled state.",
      "evidence": "After activation there was no dialog, toast, URL change, or visual delta, so the user cannot tell whether the request succeeded or failed.",
      "artifacts": [
        "evidence/product-add-cart.png",
        "evidence/product-add-cart-state.json"
      ],
      "suggestedFix": "Announce success or failure with a persistent, accessible status message and expose retry/review-cart actions without losing product context.",
      "effort": "small",
      "confidence": "medium",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F010",
      "severity": "critical",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "summary": "Laboratory loading performance is far outside good Core Web Vitals ranges.",
      "evidence": "Lighthouse measured homepage LCP 31.2s, TBT 780ms, and performance 0.46; product LCP was 18.7s with TBT 640ms and performance 0.45.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Prioritize the LCP resource, shorten dependency chains, server-render meaningful content, and reduce initial JavaScript before tuning secondary work.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F011",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "summary": "Search results undergo a severe late layout shift.",
      "evidence": "The mobile search layout observer recorded CLS 0.822, including a single 0.821 shift around 4.5 seconds; other sampled templates stayed near 0.004 or below.",
      "artifacts": [
        "evidence/search-layout.json",
        "evidence/search-mobile.png"
      ],
      "suggestedFix": "Reserve space for search controls/results and all late-loaded media, and ensure hydrated/loading states use the final geometry.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "search",
      "url": "https://www.digikala.com/search/?q=%DA%AF%D9%88%D8%B4%DB%8C"
    },
    {
      "id": "F012",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "break-up-long-tasks",
      "summary": "Heavy scripting blocks the main thread during load.",
      "evidence": "The trace found five long tasks, a longest task of 1,503ms, and 1,567ms total blocking time; Lighthouse reported 5.4s main-thread work and 2.4s JavaScript execution.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Break long tasks into prioritized chunks, defer noncritical features, and move suitable computation off the main thread.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F013",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "summary": "The initial network dependency graph is oversized and delays critical content.",
      "evidence": "The HAR captured 308 requests and 6.47MB transferred; Lighthouse found render-blocking work, weak cache lifetimes, LCP discovery failures, and up to 1.69s render-blocking savings.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "suggestedFix": "Reduce the critical request chain, preload only the confirmed LCP dependency, improve cache lifetimes, and defer noncritical fonts/scripts/styles.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F014",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "summary": "The page ships a large amount of unused JavaScript and CSS.",
      "evidence": "The HAR recorded 186 script requests transferring 4.29MB; Lighthouse estimated 1.73MB unused JavaScript on home and 1.88MB on product, plus about 101KB unused CSS.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "suggestedFix": "Measure route-level coverage, split bundles by feature/template, remove duplicate/legacy dependencies, and load analytics and optional widgets only when needed.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F015",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "summary": "Some links and buttons lack accessible names.",
      "evidence": "Lighthouse failed link-name on the homepage and both button-name and link-name on the product page; the DOM probe counted empty links and images without alt text.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json",
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ],
      "suggestedFix": "Give every interactive element a stable accessible name, add meaningful alt text, and expose decorative images with empty alt only when intentional.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F016",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "summary": "Text and controls fail minimum color contrast.",
      "evidence": "Lighthouse failed the color-contrast audit on both homepage and product templates.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "suggestedFix": "Adjust failing foreground/background tokens to WCAG contrast thresholds and test normal, dark, disabled, hover, focus, and forced-color states.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F017",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "summary": "Heading structure and visible keyboard focus are unreliable.",
      "evidence": "The product heading sequence jumps from H2 to H4 and Lighthouse failed heading-order; focused sampled controls had no visible outline or shadow.",
      "artifacts": [
        "evidence/product-probe-summary.json",
        "evidence/home-probe-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "suggestedFix": "Use a sequential heading hierarchy and add consistent :focus-visible treatment while preserving logical DOM/tab order.",
      "effort": "small",
      "confidence": "high",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F018",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "summary": "The viewport declaration prevents normal user zoom.",
      "evidence": "All sampled pages declare maximum-scale=1.0; Lighthouse failed meta-viewport because the maximum scale is below 5.",
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "suggestedFix": "Remove maximum-scale and any user-scalable restriction, then verify reflow and fixed controls at 200% and 400% zoom.",
      "effort": "trivial",
      "confidence": "high",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F019",
      "severity": "low",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "summary": "Many image elements omit intrinsic dimensions.",
      "evidence": "The DOM probes found 16 of 30 homepage images and 3 of 7 product images missing width or height attributes; the image primitive also found four of five initially loaded images missing dimensions.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ],
      "suggestedFix": "Provide width and height or an equivalent reserved aspect-ratio for every content image, including lazy and dynamically inserted media.",
      "effort": "small",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F020",
      "severity": "medium",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "summary": "Large first-party bundles lack source maps and the page reports browser inspector issues.",
      "evidence": "Lighthouse found missing source maps for large first-party JavaScript, cookie-related DevTools issues, and a BFCache blocker caused by an open WebSocket.",
      "artifacts": [
        "evidence/lighthouse-selected-audits.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Publish production source maps to the error/debugging pipeline, resolve cookie warnings, and close or suspend WebSockets when pages enter the background/pagehide lifecycle.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F021",
      "severity": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "summary": "Product and homepage entities lack structured and social-preview metadata.",
      "evidence": "DOM probes found no JSON-LD and no Open Graph metadata on the homepage or representative product, despite the product having a clearly identifiable name, price, image, and rating.",
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ],
      "suggestedFix": "Add accurate Product/Offer and Organization JSON-LD plus Open Graph/Twitter metadata that matches visible content.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F022",
      "severity": "critical",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "summary": "Important browser security headers and cookie protections are missing.",
      "evidence": "HTTPS and HSTS are present, but the response has no CSP, nosniff, Referrer-Policy, or Permissions-Policy; the cookie audit found 10 insecure cookies and pervasive SameSite=None.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Deploy an enforcing CSP, nosniff, Referrer-Policy, Permissions-Policy, and secure cookie defaults; scope SameSite=None only to cookies that truly require cross-site use.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F023",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "summary": "The initial page load has a broad tracking and third-party footprint.",
      "evidence": "The tracker probe observed 16 non-page origins, Google Tag Manager/Analytics, InTrack, Digiwise, Yektanet and MediaAd endpoints; Lighthouse found third-party cookies.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Minimize vendors and identifiers, gate optional analytics behind consent, batch first-party analytics, and load nonessential third parties only after relevant interaction.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F024",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "summary": "Browser-enforced defenses are incomplete.",
      "evidence": "Neither CSP frame-ancestors nor X-Frame-Options is present, and Referrer-Policy, Permissions-Policy, and X-Content-Type-Options are absent; cookies include long-lived tracking identifiers.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Add frame-ancestors (or X-Frame-Options as a compatibility layer), nosniff, strict referrer and permissions policies, and review long-lived identifier cookies.",
      "effort": "small",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F025",
      "severity": "critical",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "stabilize-reactive-state",
      "summary": "Core content is unavailable without JavaScript.",
      "evidence": "Discoverability captures for home, product, and search report 0% content coverage and only 26 raw text characters; the product raw response does not contain its title or H1, while the rendered page has full product content.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-rendered.png",
        "evidence/home-discoverability-crawler.png",
        "evidence/product-discoverability.json",
        "evidence/product-discoverability-rendered.png",
        "evidence/product-discoverability-crawler.png",
        "evidence/search-discoverability.json"
      ],
      "suggestedFix": "Server-render core navigation, listing, and product content into the initial HTML and layer interactivity on top with hydration/progressive enhancement.",
      "effort": "large",
      "confidence": "high",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F026",
      "severity": "medium",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "conditional-async-dependencies",
      "summary": "The installable shell has no offline content fallback.",
      "evidence": "A valid manifest and active service worker exist, but Cache Storage is empty and sw9.js only handles analytics rewriting/push imports; it defines no navigation cache or offline fallback.",
      "artifacts": [
        "evidence/pwa-state.json",
        "evidence/cache-state.json",
        "evidence/sw9.js",
        "evidence/manifest.json"
      ],
      "suggestedFix": "Add a small, versioned offline navigation fallback and cache only essential shell/recovery assets, while keeping commerce data network-first and visibly stale-safe.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F027",
      "severity": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "summary": "The sign-in identifier field explicitly disables autocomplete.",
      "evidence": "The login probe found the labelled username field uses autocomplete=\"off\", preventing password managers and browser autofill from assisting with the email/mobile identifier.",
      "artifacts": [
        "evidence/login-state.json",
        "evidence/login-invalid.png"
      ],
      "suggestedFix": "Use the appropriate autocomplete token (username, email, or tel as the flow permits) and allow password-manager/autofill assistance.",
      "effort": "trivial",
      "confidence": "high",
      "pathId": "login",
      "url": "https://www.digikala.com/users/login/"
    },
    {
      "id": "F028",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "summary": "Image delivery wastes substantial bytes.",
      "evidence": "Lighthouse estimated 817KB image-delivery savings on the homepage; the image primitive found a legacy GIF, missing responsive sources, and oversized delivery signals.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-home-summary.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Replace animated/decorative GIFs with efficient formats, serve responsive AVIF/WebP sources, and size each image to its rendered slot.",
      "effort": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F029",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "summary": "The initial experience performs disproportionate network and JavaScript work.",
      "evidence": "The homepage initiated 308 requests, 186 scripts, 28 XHR/fetches, 57 simultaneous animations, and a 1.5-second main-thread task before meaningful completion.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-default-motion.json"
      ],
      "suggestedFix": "Delay background data, analytics, recommendations, and motion until idle or user intent; cancel work when hidden and consolidate requests.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F030",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "summary": "Third-party and script weight is not proportionate to the first mobile viewport.",
      "evidence": "The HAR transferred 6.47MB, including 4.29MB of scripts and 1.39MB of images, while the tracker probe observed 16 external origins and the first viewport was still dominated by promotion/chrome.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Set route-specific budgets for transfer size, JavaScript, images, fonts, and external origins; remove vendors and defer media that does not support the first task.",
      "effort": "large",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    },
    {
      "id": "F031",
      "severity": "low",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "webmcp",
      "summary": "The commerce surface exposes no structured agent capabilities.",
      "evidence": "No WebMCP/agent-tool registration was found, product content is absent from raw HTML, Lighthouse agentic-browsing scored 0.33, and /llms.txt returned the application shell rather than agent guidance.",
      "artifacts": [
        "evidence/product-probe-summary.json",
        "evidence/product-discoverability.json",
        "evidence/lighthouse-product-summary.json",
        "evidence/llms.txt"
      ],
      "suggestedFix": "After fixing server-rendered content, expose narrowly scoped, confirmable product-search/cart capabilities through emerging agent interfaces; never allow silent purchasing.",
      "effort": "large",
      "confidence": "medium",
      "pathId": "product",
      "url": "https://www.digikala.com/product/dkp-21190850/"
    },
    {
      "id": "F032",
      "severity": "medium",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "manage-recurring-intervals",
      "summary": "The homepage starts with a heavy memory and DOM footprint.",
      "evidence": "The baseline heap summary contained 916,850 heap-snapshot nodes and 91.7MB self size; the live probe found about 6,251 DOM elements and 52.3MB used JS heap before repeated scrolling.",
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-memory-metrics.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Reduce hydrated DOM and initial feature modules, virtualize long merchandising sections, and remove unnecessary closures/observers from the initial route.",
      "effort": "large",
      "confidence": "medium",
      "pathId": "home",
      "url": "https://www.digikala.com/"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Server-render core home, listing, search, and product content",
      "priority": 1,
      "findingIds": [
        "F025",
        "F031"
      ],
      "guidanceId": "stabilize-reactive-state",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Cut LCP, initial JavaScript, main-thread work, and dependency depth",
      "priority": 2,
      "findingIds": [
        "F010",
        "F012",
        "F013",
        "F014",
        "F029",
        "F032"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Deploy CSP and complete security/cookie browser policies",
      "priority": 3,
      "findingIds": [
        "F022",
        "F024"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Remove or defer initial trackers and enforce third-party budgets",
      "priority": 4,
      "findingIds": [
        "F023",
        "F030"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Fix unnamed controls, heading order, contrast, focus, and zoom",
      "priority": 5,
      "findingIds": [
        "F007",
        "F015",
        "F016",
        "F017",
        "F018"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Eliminate the search-results layout shift",
      "priority": 6,
      "findingIds": [
        "F011",
        "F019"
      ],
      "guidanceId": "visually-stable-font-fallbacks",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Remove the load-time promo modal or rebuild it with a semantic primitive",
      "priority": 7,
      "findingIds": [
        "F003",
        "F004",
        "F005"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Make add-to-cart progress and feedback unambiguous",
      "priority": 8,
      "findingIds": [
        "F008",
        "F009"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T009",
      "title": "Respect color-scheme and reduced-motion preferences",
      "priority": 9,
      "findingIds": [
        "F001",
        "F002"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T010",
      "title": "Optimize responsive image delivery and remove legacy GIF cost",
      "priority": 10,
      "findingIds": [
        "F028"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T011",
      "title": "Add Product/Offer and social-preview metadata",
      "priority": 11,
      "findingIds": [
        "F021"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T012",
      "title": "Enable sign-in identifier autofill",
      "priority": 12,
      "findingIds": [
        "F027"
      ],
      "guidanceId": "autofill-sign-in-form",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 850,
    "pathCount": 6,
    "auditPasses": 1
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Visual comparison under prefers-color-scheme: dark plus CSS feature probe.",
      "evidence": "Product remains light and the probe found no prefers-color-scheme CSS.",
      "pathIds": [
        "product"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/product-dark.png"
      ],
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Compared getAnimations() under default and prefers-reduced-motion: reduce.",
      "evidence": "Both conditions retained 57 running loading animations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-default-motion.json",
        "evidence/home-reduced-motion.json"
      ],
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Forced-colors/high-contrast screenshot inspection.",
      "evidence": "Text, breadcrumb links, price, rating, and purchase control remain visible with system colors.",
      "pathIds": [
        "product"
      ],
      "artifacts": [
        "evidence/product-forced-colors.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "pass",
      "confidence": "medium",
      "method": "Cross-template CSS feature probe.",
      "evidence": "Rendered styles contain view-transition rules across all four representative templates.",
      "pathIds": [
        "home",
        "listing",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "Visual recon and CSS feature probe.",
      "evidence": "No scrollytelling, parallax, or scroll-linked animation surface was present on the sampled commerce templates; no animation-timeline rule was found.",
      "reason": "No scroll-linked motion existed to implement declaratively."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "CSS feature probe and mobile visual inspection.",
      "evidence": "The mobile merchandising/gallery surfaces use native scrolling with scroll-snap rules and do not expose a custom pointer-driven gesture requirement.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-mobile.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "Scrolled the representative product route and inspected persistent navigation.",
      "evidence": "Product section navigation and the purchase action remain persistently available while the page scrolls to y=1200.",
      "pathIds": [
        "product"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/product-scroll-chrome-state.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "Inspected active mobile flows and overlay primitives.",
      "evidence": "No tooltip, popover, or edge-positioned menu was invoked in the representative mobile journeys; the observed promotion is viewport-modal rather than anchor-attached.",
      "reason": "No anchor-attached overlay applied to the exercised paths."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Mobile screenshot and navigation-state inspection.",
      "evidence": "Breadcrumbs, selected bottom-navigation state, search query, result count, and sticky purchase action clearly preserve location and next action.",
      "pathIds": [
        "home",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/product-mobile.png",
        "evidence/search-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "First-load mobile screenshot inspection.",
      "evidence": "A promotion and full-page scrim obscure homepage content on load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Compared visible modal screenshot with DOM semantic primitive counts.",
      "evidence": "Visible modal behavior has no dialog, popover, role=dialog, or aria-modal representation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe-summary.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "First-viewport visual hierarchy and fixed-element probe.",
      "evidence": "Promotion, support, sticky header, and bottom navigation consume most of the mobile viewport.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe-summary.json"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Layout metrics at 360x800 across four templates.",
      "evidence": "All four paths reported scrollWidth=clientWidth=360 and zero horizontal overflow.",
      "pathIds": [
        "home",
        "listing",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-layout.json",
        "evidence/listing-layout.json",
        "evidence/product-layout.json",
        "evidence/search-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "Cross-template stylesheet feature probe.",
      "evidence": "No @container rules were found for reused commerce components.",
      "pathIds": [
        "home",
        "listing",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Focused visible controls and read computed outline/box shadow.",
      "evidence": "Sampled focused support and product controls had no visible focus indicator.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected first viewports and heading/action hierarchy.",
      "evidence": "Search results show query and result count; product view exposes name, image, price, rating, and a prominent add-to-cart action.",
      "pathIds": [
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/search-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "medium",
      "method": "Activated the representative add-to-cart action and captured the result.",
      "evidence": "No visual or navigational progress occurred after activation.",
      "pathIds": [
        "product"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/product-add-cart.png",
        "evidence/product-add-cart-state.json"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "medium",
      "method": "Compared add-to-cart, invalid-login, and 404 recovery states.",
      "evidence": "Login and 404 recovery are clear, but add-to-cart produced no success/error state.",
      "pathIds": [
        "product",
        "login",
        "not-found"
      ],
      "artifacts": [
        "evidence/product-add-cart.png",
        "evidence/login-invalid.png",
        "evidence/404-mobile.png"
      ],
      "findingIds": [
        "F009"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse on home/product plus DevTools trace.",
      "evidence": "LCP was 31.2s on home and 18.7s on product, with TBT 780ms/640ms.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Layout-shift observer on all representative templates.",
      "evidence": "Search recorded CLS 0.822 from a late 0.821 shift.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-layout.json"
      ],
      "findingIds": [
        "F011"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Trace long-task analysis and Lighthouse diagnostics.",
      "evidence": "Trace TBT was 1,567ms with a 1,503ms longest task.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR summary confirmed with Lighthouse delivery insights.",
      "evidence": "308 requests and 6.47MB transferred; render-blocking, caching, and LCP discovery audits failed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "HAR resource breakdown and Lighthouse code-coverage estimates.",
      "evidence": "186 scripts transferred 4.29MB; 1.73–1.88MB unused JS was estimated.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audits plus DOM image/link probes.",
      "evidence": "Unnamed links/buttons and images without alt text were found.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json",
        "evidence/home-probe-summary.json"
      ],
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse color-contrast audit on two templates.",
      "evidence": "Both homepage and product failed color contrast.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Heading sequence and computed focused-state inspection.",
      "evidence": "Product skips H3 and sampled focus outlines are absent.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/product-probe-summary.json",
        "evidence/home-probe-summary.json"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Visual inspection of product/search text at 360px and forced colors.",
      "evidence": "Persian product names, prices, metadata, search controls, and results remain readable without clipping.",
      "pathIds": [
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/search-mobile.png",
        "evidence/product-forced-colors.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Viewport declaration inspection and Lighthouse meta-viewport audit.",
      "evidence": "maximum-scale=1.0 blocks expected zoom; Lighthouse failed the audit.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/lighthouse-product-summary.json"
      ],
      "findingIds": [
        "F018"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse console-error audit.",
      "evidence": "The browser logged no console errors or uncaught exceptions during the homepage audit.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-selected-audits.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "DOM document/image probe plus image primitive.",
      "evidence": "Doctype and UTF-8 are valid, but many images omit intrinsic dimensions.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ],
      "findingIds": [
        "F019"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse best-practices and DevTools issue audits.",
      "evidence": "Missing source maps, cookie inspector issues, and a WebSocket BFCache blocker were reported.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-selected-audits.json"
      ],
      "findingIds": [
        "F020"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "DOM metadata inspection across four public templates.",
      "evidence": "All sampled pages have titles and meta descriptions; the product title is specific.",
      "pathIds": [
        "home",
        "listing",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "DOM anchor/viewport probes and Lighthouse SEO.",
      "evidence": "Anchors have real hrefs, viewport metadata is present, robots.txt is valid, and Lighthouse SEO scored 1.0.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/lighthouse-home-summary.json",
        "evidence/robots.txt"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Canonical, robots, status, and sitemap inspection.",
      "evidence": "Sampled public pages return 200, expose matching canonicals, are allowed by valid robots.txt, and are represented by a large sitemap index.",
      "pathIds": [
        "home",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json",
        "evidence/robots.txt",
        "evidence/sitemap.xml"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected JSON-LD and social metadata on homepage/product.",
      "evidence": "No JSON-LD or Open Graph metadata was present on either entity-rich page.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ],
      "findingIds": [
        "F021"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Header, cookie, HTTPS, and secret scans.",
      "evidence": "HTTPS/HSTS pass and no secrets were found, but CSP/nosniff and secure cookie defaults fail.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/home-secrets.json"
      ],
      "findingIds": [
        "F022"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "HAR and tracker-origin inspection.",
      "evidence": "Sixteen external origins and multiple analytics/identity vendors load on the initial route.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F023"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse permission-timing audits and live OIDC login inspection.",
      "evidence": "No geolocation/notification prompt occurred on load; login redirects through OIDC with PKCE and starts with an email/mobile identifier rather than a page-embedded password form.",
      "pathIds": [
        "home",
        "login"
      ],
      "artifacts": [
        "evidence/lighthouse-selected-audits.json",
        "evidence/login-state.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Security header and cookie-policy inspection.",
      "evidence": "Clickjacking, MIME, referrer, permissions, and cookie defenses are incomplete.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F024"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "issues",
      "confidence": "high",
      "method": "Raw HTML versus rendered DOM discoverability comparison.",
      "evidence": "Home, product, and search expose 0% rendered-content coverage without JS.",
      "pathIds": [
        "home",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/product-discoverability.json",
        "evidence/search-discoverability.json"
      ],
      "findingIds": [
        "F025"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative mobile visual states, forced colors, and repeated scrolling.",
      "evidence": "Navigation, product content, fixed purchase control, forced-color state, and repeated scrolling remained operable without clipped active controls.",
      "pathIds": [
        "home",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/product-forced-colors.png",
        "evidence/home-memory-metrics.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "issues",
      "confidence": "high",
      "method": "Manifest/service-worker/cache inspection.",
      "evidence": "The site is installable, but the service worker has no offline navigation fallback and Cache Storage is empty.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/pwa-state.json",
        "evidence/cache-state.json",
        "evidence/sw9.js"
      ],
      "findingIds": [
        "F026"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Loaded an intentional missing URL and inspected recovery.",
      "evidence": "The not-found page clearly states the page is missing and provides a homepage recovery link.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/404-mobile.png",
        "evidence/404-state.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "DOM language/direction and CSS logical-property inspection.",
      "evidence": "All sampled templates declare lang=fa and dir=rtl and use logical inline properties.",
      "pathIds": [
        "home",
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/home-probe-summary.json",
        "evidence/product-probe-summary.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "Visual inspection of locale-sensitive prices, counts, and ratings.",
      "evidence": "Prices and result counts use Persian digits and Iranian toman conventions consistently in the Persian RTL interface.",
      "pathIds": [
        "product",
        "search"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/search-mobile.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of representative commerce templates and data types.",
      "evidence": "The sampled homepage, listing, product, search, login, and error paths expose no event schedules, user times, recurring intervals, or time-zone-sensitive values.",
      "reason": "No time-zone-sensitive user data appeared in the audited scope."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "medium",
      "method": "Inspected promotion, product pricing, login terms, and recovery states.",
      "evidence": "Promotion dismissal uses neutral wording; product price/action and login terms are visible, with no preselected paid option or confirmshaming observed.",
      "pathIds": [
        "home",
        "product",
        "login"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/product-mobile.png",
        "evidence/login-invalid.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "high",
      "method": "Submitted the login form empty and inspected error announcement.",
      "evidence": "A specific Persian error appears after interaction in an aria-live/role=alert region.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-invalid.png",
        "evidence/login-invalid-state.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected labels and autocomplete attributes on the login identifier field.",
      "evidence": "The field is labelled but explicitly sets autocomplete=off.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-state.json"
      ],
      "findingIds": [
        "F027"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "medium",
      "method": "Inspected product pricing/action and OIDC account entry.",
      "evidence": "Price and purchase commitment are visible before action; account entry uses an external OIDC PKCE flow and links terms/privacy before continuation.",
      "pathIds": [
        "product",
        "login"
      ],
      "artifacts": [
        "evidence/product-mobile.png",
        "evidence/login-state.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Image primitive, HAR, and Lighthouse image-delivery insight.",
      "evidence": "A legacy GIF and responsive-image gaps contribute to an estimated 817KB savings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "findingIds": [
        "F028"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "HAR request mix, trace, and animation activity inspection.",
      "evidence": "The first route launches 308 requests, 186 scripts, dozens of fetches, and 57 animations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-default-motion.json"
      ],
      "findingIds": [
        "F029"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR byte/origin budget and first-viewport visual inspection.",
      "evidence": "6.47MB and 16 external origins are disproportionate to the initial mobile task.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F030"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "issues",
      "confidence": "medium",
      "method": "DOM/source-surface inspection, llms.txt request, and Lighthouse agentic audit.",
      "evidence": "No structured tool surface exists; llms.txt is an app shell and agentic score is 0.33.",
      "pathIds": [
        "home",
        "product"
      ],
      "artifacts": [
        "evidence/llms.txt",
        "evidence/lighthouse-product-summary.json",
        "evidence/product-discoverability.json"
      ],
      "findingIds": [
        "F031"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of user-facing features and scripts.",
      "evidence": "No summarization, generation, translation assistant, or other inference task is offered on the sampled commerce paths.",
      "reason": "There is no user-facing inference task for which on-device AI would improve these paths."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline/post heap summaries and ten repeated bottom/top scroll cycles.",
      "evidence": "After ten cycles, total self size decreased from 91.7MB to 85.7MB and same-session JS heap stayed stable; no unbounded retained growth was demonstrated.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post-scroll.json",
        "evidence/home-memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "medium",
      "method": "Heap summary, live memory/DOM metrics, and network complexity.",
      "evidence": "Baseline self size was 91.7MB with about 6,251 DOM elements and 52.3MB used JS heap.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-memory-metrics.json"
      ],
      "findingIds": [
        "F032"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared heap constructor summaries and live metrics before/after repeated scrolling.",
      "evidence": "No Detached* constructor appears among dominant retained constructors, JS heap stayed stable, and animation count fell rather than accumulating.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post-scroll.json",
        "evidence/home-memory-metrics.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001",
        "F002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F003",
        "F004",
        "F005"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F006",
        "F007"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F008",
        "F009"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F010",
        "F011",
        "F012",
        "F013",
        "F014"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F015",
        "F016",
        "F017",
        "F018"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F019",
        "F020"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F021"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F022",
        "F023",
        "F024"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F025",
        "F026"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F027"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F028",
        "F029",
        "F030"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F031"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F032"
      ]
    }
  ],
  "agent": "pi",
  "runId": "2026-07-24T07-24-48-420Z"
}
